2011-02-26 110 views
2

我怎麼可以通過在一個div使用jQuery或全部標籤元素只是一個JavaScript DOM遍歷一個div所有標籤元素使用jQuery

這裏是例如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來循環所有標籤,但仍然沒有運氣。我知道有這個類似的問題,但找不到適合我需求的問題。請幫我解決一下這個。謝謝!

回答

3

jQuery非常微不足道。看起來像:

$('#pagination .withLink').toggleClass('withLink noLink').removeAttr('onclick'); 

參考:.toggleClass()removeAttr()


與香草的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()

做個潔具的香草JavaScript仍然有瀏覽器的限制。它需要Javascript 1.6所以你需要IE8 +。

+0

'querySelectorAll'只能用於IE8 +,不幸的是,對於更老的IE,您將手動刪除'getElementsTagName('*')'和'className'。 – 2011-02-26 09:08:33

+0

jQuery爲我工作,我從來沒有想過這很簡單。我需要在大多數瀏覽器中運行我的腳本,不幸的是包括ie6。也許如果我有很多時間,我會盡量使用JavaScript。非常感謝你的答案。 – ace 2011-02-26 09:15:40