繁体   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