我想将样式类添加到未禁用的无序列表中的任何超链接。有人能帮我吗?我已经让这段代码运行 onload
function ApplyCSSToDisableElements() {
var a = document.getElementById('Pager').getElementsByTagName('a');
for (var i = 0; i < a.length; i++) {
if (a.disabled == true)
{
alert("disabled");
}
else
{
alert("Not disabled");
}
}
}
这是列表:
<ul id="Pager" class="center">
<li><a disabled="disabled">1</a></li>
<li><a >2</a></li>
<li><a disabled="disabled">3</a></li>
<li><a disabled="disabled">4</a></li>
<li><a >5</a></li>
<li><a disabled="disabled">6</a></li>
</ul>
但是,我不断收到相同的警报。 任何帮助将不胜感激。
最佳答案
您正在查看错误的变量 - 您应该查看 a[i]
, 不是 a
.
除此之外,.disabled
<a>
上不存在属性元素 - 您添加了一个非标准属性,因此您需要通过循环和使用 a[i].getAttribute()
来测试它是否存在。 ,或者更好的是仍然使用 parent.querySelectorAll('a:[disabled="disabled"]')
而不是 getElementsByTagName()
获取预过滤的元素列表。
无论哪种方式,真正的解决方案是在您的样式表中完全不使用任何代码来执行此操作:
#Pager a:[disabled="disabled"] {
...
}
这样会更有效率。
关于JavaScript - 为无序列表中所有禁用的 <A> 标签添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41850350/