Javascript JQuery删除添加的样式
我是Javascript新手, 我用的是主干线 所以我在点击链接时添加了这样的样式Javascript JQuery删除添加的样式,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,我是Javascript新手, 我用的是主干线 所以我在点击链接时添加了这样的样式 $(eventC.target.parentNode).css('border', '1px solid red'); 我想以前的链接被清除的红色边框,我添加时,我点击新的链接 我看了下面的链接 所以本质上我想这样做: $(OLDLINK).css('border', 'none'); $(NewLINK).css('border', '1px solid red'); 我从主干网得到的事件 有没
$(eventC.target.parentNode).css('border', '1px solid red');
我想以前的链接被清除的红色边框,我添加时,我点击新的链接
我看了下面的链接
所以本质上我想这样做:
$(OLDLINK).css('border', 'none');
$(NewLINK).css('border', '1px solid red');
我从主干网得到的事件
有没有一个简单的方法可以做到这一点?或者这种方法是错误的?我建议使用CSS类来添加边框,并像下面那样添加/删除边框 CSS: jQuery:
//remove border from old link
$('.borderRed').removeClass('borderRed');
// add border in new link
$(eventC.target.parentNode).addClass('borderRed');
如果我明白你的问题,你需要这样的东西
var container = $("div.parent").on("click", "a", function(){
$(this).addClass("selected");
container.find("a").not($(this)).removeClass("selected");
});
该解决方案可以是:
Backbone.View.extend ({
events: {
"event-which-delete-border a.link":"changeLink",
"event-which-add-border a.link":"changeLink"
},
changeLink:function(event) {
if (event.type == 'event-which-delete-border') {
$('a.link').css('border', 'none');
} else if (event.type == 'event-which-add-border')
$('a.link').css('border', '1px solid red');
}
})
在本例中,“删除边框的事件”和“添加边框的事件”可能都是JavaScript中的事件,例如“单击”“鼠标悬停”等。您可以使用这三种方法中的任何一种- 可以使用.attr更改元素的样式
$(OLDLINK).attr('style', 'border: none');
$(NewLINK).attr('style','border: 1px solid red');
此方法对于跨浏览器缺陷是安全的
你正在使用的那个。
您可以使用上面Bhushan解释的方法。
它们之间的区别可以在这里找到-offtopic。使用类而不是为元素设置样式。@AlekseiBulgak我认为这完全符合主题,应该是一个答案;是的,谢谢,我尝试了很多不同的方法,这太简单了!是的!太好了!语义类名称通常比描述样式的类更好。所以在本例中,它可能类似于.activeLink。
$(OLDLINK).attr('style', 'border: none');
$(NewLINK).attr('style','border: 1px solid red');