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