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

时间:2017-02-28 09:43:05

标签: javascript jquery

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

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

适用于class="this_text"而非class="this_text_and_more_text"的跨度 - 我需要搜索两者。

4 个答案:

答案 0 :(得分:3)

在这种情况下,您可以使用Attribute Contains选择器:

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

您也可以使用Attribute Starts With选择器,但请注意,如果元素上只有一个类,则保证可以正常工作:

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

答案 1 :(得分:0)

我们可以使用hasclass获取所有带有名称的span类,这会对你有帮助吗

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

});

答案 2 :(得分:0)

  

我需要搜索两个

我用selector group

来做到这一点
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>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

您可以根据需要使用正则表达式检索任何序列。

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/