如何使用jQuery或仅使用JavaScript DOM遍历div中的所有标签元素
以下是html示例:
<div id="pagination">
<label class="noLink">First</label>
<label class="noLink">Previous</label>
<label class="withLink" onClick="paginateTo('next')">Next</label>
<label class="withLink" onClick="paginateTo('last')">Last</label>
</div>
我在这里要做的是删除onClick事件并将withLink的值更改为noLink。我正在尝试使用JavaScript DOM和jQuery循环所有标签,但仍然没有运气。我知道有一个类似的问题,但找不到适合我需要的问题。请帮我解决一下这个。谢谢!
答案 0 :(得分:4)
使用jQuery非常简单。看起来像:
$('#pagination .withLink').toggleClass('withLink noLink').removeAttr('onclick');
参考:.toggleClass()
,removeAttr()
使用vanilla Javascript轻微琐碎:
var lnks = document.getElementById('pagination').querySelectorAll('.withLink');
for(var i = 0, len = lnks.length; i < len; i++) {
lnks[i].removeAttribute('onClick');
lnks[i].className = lnks[i].className.split(/\s/).filter(function(elem) {
return elem !== 'withLink';
}).join(' ');
}
参考:.querySelectorAll()
,.filter()
请注意,vanilla Javascript仍然具有浏览器限制。它需要Javascript 1.6 ,所以你需要IE8 +。