How do I select a span containing a specific text value, using jquery?
By the way, if you'd like to use this with a variable, you'd do it this way:
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
});
}
}
Use contains:
$("span:contains('FIND ME')")
http://api.jquery.com/contains-selector/
$("span:contains('FIND ME')")
ETA:
The contains selector is nice, but filtering a list of spans if probably quicker: 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
I think this will work
var span;
$('span').each(function(){
if($(this).html() == 'FIND ME'){
span = $(this);
}
});