【发布时间】:2012-03-14 12:42:15
【问题描述】:
如何找到包含文本“FIND ME”的跨度
<div>
<span>FIND ME</span>
<span>dont find me</span>
</div>
【问题讨论】:
标签: javascript jquery
如何找到包含文本“FIND ME”的跨度
<div>
<span>FIND ME</span>
<span>dont find me</span>
</div>
【问题讨论】:
标签: javascript jquery
http://api.jquery.com/contains-selector/
$("span:contains('FIND ME')")
预计到达时间:
包含选择器很不错,但如果可能更快的话,过滤一个跨度列表: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')")
【讨论】:
find me 和 dont find me。您正在检查跨度是否包含此文本,因此您找到了两者。
顺便说一句,如果你想将它与变量一起使用,你可以这样做:
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);
}
});
【讨论】: