簡體   English   中英

查找類包含文本字符串JQuery的span

[英]Finding a span where the class contains a text string JQuery

我使用JQuery來查找包含類中的文本字符串的span元素,但也可以包含其他文本。

var not_breaks = element.filter("span.this_text");

這適用於class="this_text"而不是class="this_text_and_more_text" - 我需要搜索兩者。

在這種情況下,您可以使用Attribute Contains選擇器:

var not_breaks = element.filter("span[class*='this_text']");

您也可以使用Attribute Starts With選擇器,但請注意, 只有元素上有一個類時才能保證這一點:

var not_breaks = element.filter("span[class^='this_text']");

我們可以使用hasclass來獲取所有帶有名稱的span類,這會對你有所幫助

var pare=$('span');
$( pare ).each(function() {
if($(this).hasClass('httext')){
    alert($(this).html())
}

});

我需要搜索兩者

我會用選擇器組做到這一點:

var not_breaks = element.filter("span.this_text, span.this_text_and_more_text");
//                      first ---^    comma ---^ ^---- second

這將保持該組中的任一選擇器匹配元素。

例:

 var element = $("span"); var not_breaks = element.filter("span.this_text, span.this_text_and_more_text"); not_breaks.css("color", "green"); 
 <div><span>Not a match</span></div> <div><span class="this_text">this_text</span></div> <div><span>Not a match</span></div> <div><span class="this_text_and_more_text">this_text_and_more_text</span></div> <div><span>Not a match</span></div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

您可以使用正則表達式根據需要檢索任何序列。

var regex = new RegExp("this_txt");
var elem = $("span").filter(function () {
                    return regex.test($(this).attr('class')); 
           });
console.log(elem.length);

regex.test函數只有在序列存在時才返回true。

這是小提琴

https://jsfiddle.net/yt1cr2zb/

暫無
暫無

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

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