使用jquery遍历div中的所有label元素

时间:2011-02-26 08:52:06

标签: javascript jquery html

如何使用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循环所有标签,但仍然没有运气。我知道有一个类似的问题,但找不到适合我需要的问题。请帮我解决一下这个。谢谢!

1 个答案:

答案 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 +。