Javascript JQuery删除添加的样式

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'); 我从主干网得到的事件 有没

我是Javascript新手, 我用的是主干线 所以我在点击链接时添加了这样的样式

     $(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');