javascript - 仅选择没有子元素的元素,除了子元素是 <wbr></wbr> 的元素

标签 javascript jquery html jquery-selectors

我想选择没有子元素的元素。这是因为我想选择一个非常复杂的网站中的所有文本。

我这样做:

$mainSection.filter(":not(:has(*))");

但是也有一些特殊情况,例如:

<p>Some interesting text <wbr></wbr> that has an "optional word break" tag in it</p>

在这种情况下,我想选择 p,即使其中有子元素。但只要子元素是 wbr 标签。

最佳答案

您可以在:has()使用另一个:not()来排除某些子元素:

$mainSection.filter(":not(:has(:not(wbr)))");

顺便说一句,如果外部 :not().filter() 选择器字符串的唯一部分,您只需交换 .filter() 替换为 .not() 以使代码不那么困惑:

$mainSection.not(":has(:not(wbr))");

这两个语句在英语中的含义相同:从集合 $mainSection 中排除具有非 wbr 的任何子元素的元素。

关于javascript - 仅选择没有子元素的元素,除了子元素是 <wbr></wbr> 的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24404685/

相关文章:

javascript - 错误 : The ajax javascript file could not be loaded. 也许 URL 不正确?

jquery - 如何使用两个不同版本的 jQuery UI

javascript - Kendo UI Web Grid - Popup_Editor 模板 - 下拉列表

javascript - 附加图像时水平和垂直居中的 div 'jumping'

javascript - 如何触发自动点击警报 btn ok 以继续加载目标 url?

javascript - 画廊图像保护

javascript - 如何为颜色切换器添加 localStorage

html - 一列左一居中

javascript - 将值从一个字典复制到javascript中的另一个字典

javascript - 无法使用javascript在Phonegap中找到变量