我正在使用JQuery查找包含类中的文本字符串的span元素,但也可以包含其他文本。
var not_breaks = element.filter("span.this_text");
适用于class="this_text"
而非class="this_text_and_more_text"
的跨度 - 我需要搜索两者。
答案 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)
来做到这一点我需要搜索两个
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;
答案 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。
这里是小提琴