如何找到包含文本“FIND ME”的元素
<div>
<span>FIND ME</span>
<span>dont find me</span>
</div>
如何找到包含文本“FIND ME”的元素
<div>
<span>FIND ME</span>
<span>dont find me</span>
</div>
http://api.jquery.com/contains-selector/
$("span:contains('FIND ME')")
ETA:
contains选择器很不错,但是如果过滤一组span,使用filter可能更快:http://jsperf.com/jquery-contains-vs-filter
$("span").filter(function() { return ($(this).text().indexOf('FIND ME') > -1) }); -- anywhere match
$("span").filter(function() { return ($(this).text() === 'FIND ME') }); -- exact match
使用 contains 选择器:
$("span:contains('FIND ME')")
找到我
和不要找我
。你正在检查span是否包含这个文本,所以你找到了两个。 - Paul顺便提一下,如果您想将此与变量一起使用,可以这样做:
function findText() {
$('span').css('border', 'none'); //reset all of the spans to no border
var find = $('#txtFind').val(); //where txtFind is a simple text input for your search value
if (find != null && find.length > 0) {
//search every span for this content
$("span:contains(" + find + ")").each(function () {
$(this).css('border', 'solid 2px red'); //mark the content
});
}
}
我认为这个会有效
var span;
$('span').each(function(){
if($(this).html() == 'FIND ME'){
span = $(this);
}
});