jquery:查找包含给定字符串的元素的索引

yon*_*123 3 html jquery

在 HTML 中,我创建了一个具有唯一 ID 的“div”。在这个“div”中,我有更多的“div”,其中每个都包含一个字符串。例如:

<div id="name">
  <div>A</div>
  <div>B</div>
</div>
Run Code Online (Sandbox Code Playgroud)

我想要做的是在 id="name" 的“div”中找到包含字符串的“div”的索引,比如“A”。

我认为选择器 ":contains" 应该与 .index() 结合使用,但我无法弄清楚正确的语法。这是我尝试过的:

var index = $("#name"):contains(A).index("div");
Run Code Online (Sandbox Code Playgroud)

nra*_*itz 5

我想你想要

var index = $('#name div:contains("A")').index();
Run Code Online (Sandbox Code Playgroud)

这将div:contains('A')在 id = name 的元素中找到与选择器匹配的元素。

正如您现在可能已经弄清楚的那样,前缀:为 的选择器旨在在选择器字符串中使用。许多具有相应的 jQuery 函数,可以改为链接(例如:eq().eq),但:contains()不能链接(该函数.contains()测试其他元素中的 DOM 元素,而不是查看文本)。