Ame*_*men 0 javascript conditional
如何编写JavaScript条件语句:
If an li tag has a class of "disabled" then add a class of "hide"
Run Code Online (Sandbox Code Playgroud)
我正在尝试将该类添加到具有此类的li标记中.li标签没有id.
首先,你必须获得所有li标签:
var lis = document.getElementsByTagName('li');
Run Code Online (Sandbox Code Playgroud)
然后遍历它们并执行操作:
for(var i = lis.length; i--;) {
var li = lis[i];
if(/\bdisabled\b/.test(li.className)) {
li.className += ' hide';
}
}
Run Code Online (Sandbox Code Playgroud)
参考: getElementsByTagName,className
我们为什么不能使用getElementsByClassName?
因为它不支持IE8.
但您可以测试浏览器是否支持querySelectorAll:
if(typeof document.querySelectorAll === 'function') {
var lis = document.querySelectorAll('li.disabled');
for(var i = lis.length; i--;) {
lis[i].className += ' hide';
}
}
else {
// code from above
}
Run Code Online (Sandbox Code Playgroud)
如果您只是引用某些内容li,则只使用if类:
if(/\bdisabled\b/.test(element.className)) {
element.className += ' hide';
}
Run Code Online (Sandbox Code Playgroud)
(在所有情况下,您还可以添加进一步的测试以检查元素是否已经具有hide该类.)
更新:
如果你想再次删除该类,你可以进行类似的循环并使用replace:
for(var i = lis.length; i--;) {
var li = lis[i];
li.className = li.className.replace(/\s*hide\s*/, '');
}
Run Code Online (Sandbox Code Playgroud)
您应该考虑使添加和删除类函数可重用,以便您也可以将它们与其他类一起使用.
| 归档时间: |
|
| 查看次数: |
1626 次 |
| 最近记录: |