假设我想通过具有某个类名的div搜索.如果div没有某个id,我想为它们添加一个类.恩.
<div id ="1" class="head"></div>
<div id ="2" class="head"></div>
<div id ="3" class="head"></div>
if(div.id != "1")
{
add class to all divs not = 1
}
Run Code Online (Sandbox Code Playgroud)
这项工作将如何谢谢你
您可以使用此代码执行此操作...
$('div.head:not(#1)').addClass('some-class');
Run Code Online (Sandbox Code Playgroud)
为了获得更好的性能,请使
$('div.head').not('#1').addClass('some-class');
Run Code Online (Sandbox Code Playgroud)
对于现代浏览器......
[].slice.call(document.querySelectorAll('div.head')).filter(function(element) {
return element.id != 1;
}).forEach(function(element) {
element.classList.add('some-class');
});
Run Code Online (Sandbox Code Playgroud)
你可以放弃filter()
并使用:not()
,就像Zeta的回答一样.
对于我们可爱的旧IE来说......
var divs = document.getElementsByTagName('div'),
divsLength = divs.length;
for (var i = 0; i < divsLength; i++) {
if (divs[i].id != '1' && ~divs[i].className.search(/\bhead\b/)) {
divs[i].className += ' some-class';
}
}
Run Code Online (Sandbox Code Playgroud)
根据您需要支持的程度,您可以随时使用document.getElementsByClassName()
,只要您知道div
如果其他元素可能包含相同的类名且您必须具有div
专有权,则需要过滤元素.
此外,id
根据规范,属性不能以数字开头.
归档时间: |
|
查看次数: |
628 次 |
最近记录: |