簡體   English   中英

如何通過具有某些類的 class 名稱檢查元素

[英]How can I check a element by class name which has some classes

我需要檢查是否有一個元素有一些 class 名稱

例子

<div id="text1" class="myclass searchA searchB searchC">...</div>
<div id="text2" class="myclass searchB searchA searchC">...</div>
<div id="text3" class="myclass searchD searchB searchA">...</div>
<div id="text3" class="myclass searchX searchY searchZ">...</div>

我試圖用這個來做,但它不會工作

var lookfor =".searchA.searchB";
console.log('id from div how matched the loorfor classes:'+$(".myclass").is(lookfor).attr('id'));

我也試過這個

console.log('id from div how matched the loorfor classes:'+$(".myclass").hasClass(lookfor).attr('id'));

附加說明:我正在尋找的課程的順序每次都可能不同。 檢查元素中的所有類是否只有一個也很重要。

我究竟做錯了什么?

更新

是否可以限制對 div 的搜索? 例子

<div id="firstdiv">
 <div id="text1_first" class="myclass searchA searchB searchC">...</div>
    <div id="text2_first" class="myclass searchB searchA searchC">...</div>
    <div id="text3_first" class="myclass searchD searchB searchA">...</div>
    <div id="text3_first" class="myclass searchX searchY searchZ">...</div>
</div>
<div id="scnddiv">
 <div id="text1_scnd" class="myclass searchA searchB searchC">...</div>
    <div id="text2_scnd" class="myclass searchB searchA searchC">...</div>
    <div id="text3_scnd" class="myclass searchD searchB searchA">...</div>
    <div id="text3_scnd" class="myclass searchX searchY searchZ">...</div>
</div>

現在我只想要scnd div 中與我的lookfor匹配的類。

而不是使用過濾器,只需直接使用選擇器:

 const id = $(".myclass.searchA.searchB").attr('id'); console.log('id from div which matched the classes: ' + id);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="text1" class="myclass searchA searchB searchC">...</div> <div id="text2" class="myclass searchB searchA searchC">...</div> <div id="text3" class="myclass searchD searchB searchA">...</div> <div id="text3" class="myclass searchX searchY searchZ">...</div>

更新

對於您的問題的更新:

 const id1 = $("#firstdiv.myclass.searchA.searchB").attr('id'); console.log('ID from the firstdiv that matched the classes: ' + id1); const id2 = $("#scnddiv.myclass.searchA.searchB").attr('id'); console.log('ID from scnddiv that matched the classes: ' + id2);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="firstdiv"> <div id="text1_first" class="myclass searchA searchB searchC">...</div> <div id="text2_first" class="myclass searchB searchA searchC">...</div> <div id="text3_first" class="myclass searchD searchB searchA">...</div> <div id="text3_first" class="myclass searchX searchY searchZ">...</div> </div> <div id="scnddiv"> <div id="text1_scnd" class="myclass searchA searchB searchC">...</div> <div id="text2_scnd" class="myclass searchB searchA searchC">...</div> <div id="text3_scnd" class="myclass searchD searchB searchA">...</div> <div id="text3_scnd" class="myclass searchX searchY searchZ">...</div> </div>

暫無
暫無

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

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