簡體   English   中英

jQuery遍歷多維數組

[英]JQuery loop through multidimensional array

我試圖遍歷多維數組。 我想在數組中的div之一中刪除類“列表”。 但是在我的網站上,此類的類可能不止一個div。

所以我試圖用兩個for循環來解決這個問題,但是我發現它沒有用。

 const $lists = [ $('.first'), $('.third') ]; var i, j; for (i = 0; i < $lists.length; i++) { for (j = 0; j < $lists[i].length; j++){ $lists[i][j].find(.list).removeClass(list); } } 
 .list { background: green; } 
 <div class="first"> <ul class="list"> <li>foo</li> <li>fooooo</li> <li>bar</li> </ul> </div> <div class="first"> <ul class="list"> <li>foo</li> <li>fooooo</li> <li>bar</li> </ul> </div> <div class="second"> <ul class="list"> <li>foo</li> <li>fooooo</li> <li>bar</li> </ul> </div> <div class="third"> <ul class="list"> <li>foo</li> <li>fooooo</li> <li>bar</li> </ul> </div> 

我也嘗試過CSS和:not []。 但這也不起作用。

 .list:not(.first)  {
     border: 3px solid red; }

通過應用jQuery.merge()將選定的div合並為一個,找到包含.list類的所有項,然后將其刪除:

如果您只想從第一個和第三個中刪除它:

 var $lists = [ $('.first'), $('.third') ]; $($.merge.apply([], $lists)).find('.list').removeClass('list'); 
 .list { background: red; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="first"> <ul class="list"> <li>foo</li> <li>fooooo</li> <li>bar</li> </ul> </div> <div class="second"> <ul class="list"> <li>foo</li> <li>fooooo</li> <li>bar</li> </ul> </div> <div class="third"> <ul class="list"> <li>foo</li> <li>fooooo</li> <li>bar</li> </ul> </div> 

 $(document).ready(function(){ $(".second").not(".first, .third").addClass("list") }); 
 .list { background: green; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> <div class="first"> <ul> <li>foo</li> <li>fooooo</li> <li>bar</li> </ul> </div> <div class="second"> <ul> <li>foo</li> <li>fooooo</li> <li>bar</li> </ul> </div> <div class="third"> <ul> <li>foo</li> <li>fooooo</li> <li>bar</li> </ul> </div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM