只选择没有子元素的元素,除非子元素是<wbr></wbr>
Select only elements that have no children except the child element is a <wbr></wbr>
我想选择没有子元素的元素。这是因为我想在一个非常复杂的网站中选择所有的文本。
我这样做:
$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
的子元素的元素。
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 将视口底部滚动到元素底部
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何使用jquery处理php循环通过元素
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 在Jquery detachment()和appendTo()之后定位元素
- 在动态创建的元素上获取对特定选择器的引用
- 根据元素和容器大小计算边距