簡體   English   中英

如何使用JQuery中的“每個”功能搜索有序列表

[英]How can i search ordered list using the “each” function in JQuery

我想使用jquery進行此循環,但我做不到。

這是我的代碼

 this.isFound = function (li, text){ for(var i = 0; i<li.length; i++){ if(li[i].innerHTML == text){ this.showError("Sorry, You can't enter a string twice"); return true; break; } } return false; }; 

這是我的JQuery循環

 $.each(this.list, function(i, item){ if(this.text == item.innerHTML){ return true; } }); 

我該如何使用JQuery中的each或grep或任何其他函數來做到這一點? 提前致謝

您可以使用$.grep()返回匹配數組,或使用.filter()返回jQuery元素集合,其中回調的返回值應為Boolean truefalse

$.grep()

 $(function() { var text = "abc"; var res = $.grep($("li"), function(el, index) { return el.textContent === text }); // `res` is an array containing one or more `DOM` elements console.log(res); res[0].style.color = "red"; }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> </script> <ul> <li>abc</li> <li>def</li> <li>ghi</li> </ul> 

.filter()

 $(function() { var text = "def"; var res = $("li").filter(function(index, el) { return el.textContent === text }); // `res` is a jQuery object containing one or more `DOM` elements // where jQuery methods can be chained console.log(res); res.css("color", "green"); }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> </script> <ul> <li>abc</li> <li>def</li> <li>ghi</li> </ul> 

如果您要確定給定元素是否具有.textContent ,並且如果為true ,則可以使用.is() ,它返回一個Boolean ; truefalse

 $(function() { var text = "ghi"; var i = 0; var res = $("li").is(function(index, el) { i = index; return el.textContent === text }); // `res` is a `Boolean` console.log(res); if (res) { alert(text + " has already been set"); $("li").eq(i).css("color", "gold"); } }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> </script> <ul> <li>abc</li> <li>def</li> <li>ghi</li> </ul> 

暫無
暫無

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

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