2013-09-28 12 views
2

所以我在我的页面排列如下:的JavaScript在特定的div添加类元素

<div class="food"> 

    <div> 
     <a href="#" class></a> 
     <a href="#" class></a> 
    </div> 

    <div> 
     <a href="#" class></a> 
     <a href="#" class></a> 
    </div> 

</div> 

如何将类添加到我的div.food内的全部元素? 什么是最短和最快的方式来实现这个?

谢谢!

+1

'$( '食品 ')找到(' A' ).addClass('myClass')'应该是jQuery中最快的方式。 PS:编辑,误读'添加一个类到所有元素' –

回答

13

要在格添加类所有a标签带班food

$('div.food a').addClass('className'); 

正如评论说A. Wolff.find()更快

$('div.food').find('a').addClass('className'); 

添加类全部在div元素与类food

$('div.food *').addClass('className'); 

$('div.food').find('*').addClass('className'); 

.addClass()

.find()

也读.removeClass()

+1

'.find()'应该是更快一点,如果它是什么意思OP''最快':http://jsperf.com/find -vs-descendant-selector/36 –

2

JQuery的自带addClass()和removeClass()将一个dd或动态移除CSS类。例如,

$(‘.food′).addClass(‘ClassName’); - 一个“类名” css类添加到包含类的food

如果你想从你的DIV删除类元素,可以使用以下命令:

$(‘.food′).removeClass(‘ClassName’); - 从包含类的food

+0

jQuery成为Javascript的同义词..? 我正在和我昨天工作的开发者交谈,我说因为我们仅仅使用jQuery来进行DOM选择,所以我们可以移除它以去除依赖关系,而且他基本上暗示我甚至提议不使用jQuery ... (不批评你的回答,只是一个问题) – nbrogi

+0

@nbrogi你是对的,OP标签为jQuery,所以我们都假定他接受jQuery作为解决方案,但一个JavaScript的会更快肯定 –

+0

@nbrogi否,JQuery不是Javascript的同义词。 JavaScript是一种语言。 jQuery是一个使用JavaScript构建的库。它包含许多常见的Web任务来帮助开发网站。所以,如果你愿意,你可以使用JavaScript而不是JQuery。但是,大部分时间,JQuery更方便。 – lvarayut

0

元素删除“类名” CSS类如果你不想使用jQuery:

var links = document.querySelectorAll('.food a'); 
 
[].forEach.call(links, function(item) { 
 
    item.classList.add('myClass'); 
 
});

0

添加特定的div类:

$("#divData").addClass("className"); 

删除特定的div类:

$("#divData").removeClass("className"); 
相关问题