如何使用jQuery选择包含特定文本值的span?

75

如何找到包含文本“FIND ME”的元素

<div>
   <span>FIND ME</span>
   <span>dont find me</span>
</div>

可能是通过文本查找jQuery元素的重复问题。 - Felix Kling
4个回答

142

2
这是否回答了我的下一个问题?https://dev59.com/CGox5IYBdhLWcg3wHAwA - MedicineMan
1
是的。过滤器再次成为答案,但这次您检查整个.text()值是否匹配,而不是查找索引。答案已更新。 - Malk
1
谢谢Malk!我之前没听说过filter()。有时候它是必要的,因为contains()是通配符比较,所以会找到“FIND ME”和“DON'T FIND ME”,如果你需要精确匹配,这并不有用。 - Peadar

10

使用 contains 选择器:

$("span:contains('FIND ME')")

这个不起作用。在原帖中,他有两个span:找到我不要找我。你正在检查span是否包含这个文本,所以你找到了两个。 - Paul

4

顺便提一下,如果您想将此与变量一起使用,可以这样做:

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
        });
     }
}

3

我认为这个会有效

var span;
$('span').each(function(){
  if($(this).html() == 'FIND ME'){
    span = $(this);
  }
});

我如何使用Selenium在Python中完成这个任务? - Vandit Jain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接