我想知道以下代码的功能是什么

维卡斯·拉蒂

我想了解以下 jquery 代码将返回什么?

$(`:contains("keyword"):not(:has(:contains("keyword")))`)
某些表演

查看文档

描述:选择包含至少一个与指定选择器匹配的元素的元素。

$( "div:has(p)" )如果 a<p>存在于其后代中的任何位置,而不仅仅是作为直接子代,表达式匹配 a

因此,:contains("keyword"):not(:has(:contains("keyword")))将选择其中包含一个元素keyword,但不具有任何后代包含keyword换句话说,keyword必须在父级中,但不能在父级的任何子级中。例如:

const match = $(`div:contains("keyword"):not(:has(:contains("keyword")))`);
console.log(match.length);
console.log(match[0]);
console.log(match[1]);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="1" class="outer">
  keyword
  <div id="2" class="inner">
  </div>
</div>

<div id="3" class="outer">
  <div id="4" class="inner">
    keyword
  </div>
</div>

它选择第一个,.outer因为.outer有一个直接的文本节点后代keyword它选择第二个.inner是因为它还有一个直接的文本节点后代keyword

选择器要求它keyword位于作为所选父元素的子元素的文本节点中。

您可以使用像这样的 vanilla DOM 方法来模拟选择器:

const match = [...document.querySelectorAll('div')]
  .filter(
    elm => [...elm.childNodes]
      .filter(({ nodeType }) => nodeType === 3) // Only look through text nodes
      .some(({ textContent }) => textContent.includes('keyword'))
  );
console.log(match.length);
console.log(match[0]);
console.log(match[1]);
<div id="1" class="outer">
  keyword
  <div id="2" class="inner">
  </div>
</div>

<div id="3" class="outer">
  <div id="4" class="inner">
    keyword
  </div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

等效于nodejs中的以下代码。我想知道FirstorDefault方法的作用是什么?

来自分类Dev

想知道在以下代码行中传递的是什么变量(查询)

来自分类Dev

我只是想知道为什么以下代码在执行时不会出现分段错误

来自分类Dev

我想知道以下代码如何用于 php 中的子页面

来自分类Dev

以下代码中“ *&”的用法是什么

来自分类Dev

以下代码的目的是什么?

来自分类Dev

以下代码中\ +的含义是什么

来自分类Dev

以下代码的行为是什么?

来自分类Dev

以下代码中的错误是什么?

来自分类Dev

以下代码的语言是什么

来自分类Dev

我想知道导致代码显示错误的问题是什么?

来自分类Dev

以下代码段的输出是什么,为什么?

来自分类Dev

以下代码的输出是什么,为什么?

来自分类Dev

我不知道为什么,但是当我运行以下代码时,它返回9作为质数

来自分类Dev

我想知道以下用于打印三角形的java代码中到底发生了什么:

来自分类Dev

以下代码分析是什么意思?

来自分类Dev

以下代码中的“-97”是什么意思?

来自分类Dev

以下代码的复杂性是什么?

来自分类Dev

在以下代码中添加内容的目的是什么?

来自分类Dev

以下代码中的错误是什么?(Python 2.7,矩阵)

来自分类Dev

以下代码段的输出是什么意思?

来自分类Dev

以下代码段是什么意思

来自分类Dev

以下代码的运行时是什么

来自分类Dev

以下代码分析是什么意思?

来自分类Dev

在以下代码中添加内容的目的是什么?

来自分类Dev

GWT中的以下代码行是什么意思

来自分类Dev

以下代码中的错误是什么?(Python 2.7,矩阵)

来自分类Dev

以下代码中各行的含义是什么

来自分类Dev

以下代码中造成僵尸的原因是什么

Related 相关文章

  1. 1

    等效于nodejs中的以下代码。我想知道FirstorDefault方法的作用是什么?

  2. 2

    想知道在以下代码行中传递的是什么变量(查询)

  3. 3

    我只是想知道为什么以下代码在执行时不会出现分段错误

  4. 4

    我想知道以下代码如何用于 php 中的子页面

  5. 5

    以下代码中“ *&”的用法是什么

  6. 6

    以下代码的目的是什么?

  7. 7

    以下代码中\ +的含义是什么

  8. 8

    以下代码的行为是什么?

  9. 9

    以下代码中的错误是什么?

  10. 10

    以下代码的语言是什么

  11. 11

    我想知道导致代码显示错误的问题是什么?

  12. 12

    以下代码段的输出是什么,为什么?

  13. 13

    以下代码的输出是什么,为什么?

  14. 14

    我不知道为什么,但是当我运行以下代码时,它返回9作为质数

  15. 15

    我想知道以下用于打印三角形的java代码中到底发生了什么:

  16. 16

    以下代码分析是什么意思?

  17. 17

    以下代码中的“-97”是什么意思?

  18. 18

    以下代码的复杂性是什么?

  19. 19

    在以下代码中添加内容的目的是什么?

  20. 20

    以下代码中的错误是什么?(Python 2.7,矩阵)

  21. 21

    以下代码段的输出是什么意思?

  22. 22

    以下代码段是什么意思

  23. 23

    以下代码的运行时是什么

  24. 24

    以下代码分析是什么意思?

  25. 25

    在以下代码中添加内容的目的是什么?

  26. 26

    GWT中的以下代码行是什么意思

  27. 27

    以下代码中的错误是什么?(Python 2.7,矩阵)

  28. 28

    以下代码中各行的含义是什么

  29. 29

    以下代码中造成僵尸的原因是什么

热门标签

归档