假设我想通过具有某个类名的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 次 |
| 最近记录: |