Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Jquery后台更改css-如何一次只允许一个链接_Javascript_Jquery - Fatal编程技术网

Javascript 使用Jquery后台更改css-如何一次只允许一个链接

Javascript 使用Jquery后台更改css-如何一次只允许一个链接,javascript,jquery,Javascript,Jquery,我想做一个URL列表,当你点击时会突出显示,问题是在任何时候只有一个链接应该突出显示 我能让复位按钮工作。使用了removeAttr)-$(“a”).removeAttr(“风格”)-(这样做有什么负面影响吗?) 但我不能让它一次只做一个亮点 有人能帮我举一个一次只突出显示一个链接的示例代码吗?现在,可以突出显示多个链接 我可以在JSFIDLE上做一个例子,我建议这样做:创建一个CSS规则并将其应用到您单击的元素,首先从所有链接中删除相同的样式 jQuery $("a").click(funct

我想做一个URL列表,当你点击时会突出显示,问题是在任何时候只有一个链接应该突出显示

我能让复位按钮工作。使用了
removeAttr)-$(“a”).removeAttr(“风格”)
-(这样做有什么负面影响吗?)

但我不能让它一次只做一个亮点

有人能帮我举一个一次只突出显示一个链接的示例代码吗?现在,可以突出显示多个链接


我可以在JSFIDLE上做一个例子,我建议这样做:创建一个CSS规则并将其应用到您单击的元素,首先从所有链接中删除相同的样式

jQuery

$("a").click(function () {
    $('a').removeClass('back');
    $(this).addClass('back');
});
$("#btn").click(function () {
    $("a").removeClass("back")
});
CSS

.back {
    background-color: #ff3fff;
}

我建议使用
addClass()
(as),但如果必须使用
attr()

或:

请记住,使用
attr()
/
removeAttr()
具有难以置信的破坏性,并且需要更多的工作和维护(每次都必须显式地重新构造每个样式化元素属性的CSS)
addClass()
/
removeClass()
效率更高,因为它包含所有外部样式,在需要时可以轻松地将该样式添加/删除到元素中

参考资料:

您可以使用:

$("a").click(function()
{
      $(this).css("backgroundColor", "#ff3fff");
      $("a").not($(this)).removeAttr("style");
});

$("#btn").click(function(){
   $("a").removeAttr("style")
});

CSS:

jQuery:

function removeActive(){
    $("a").removeClass("active");
}

$("a").click(function( e ){
    e.preventDefault();
    removeActive();
    $(this).addClass("active");
});

$("#btn").click(removeActive);

不需要
each()
循环。正确,我只是从小提琴上复制了他的脚本。我改变了答案
$("a").click(function()
{
      $(this).css("backgroundColor", "#ff3fff");
      $("a").not($(this)).removeAttr("style");
});

$("#btn").click(function(){
   $("a").removeAttr("style")
});
a.active{
    background:#ff3fff;
}
function removeActive(){
    $("a").removeClass("active");
}

$("a").click(function( e ){
    e.preventDefault();
    removeActive();
    $(this).addClass("active");
});

$("#btn").click(removeActive);