jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了为什么jQuery的.not()方法删除文本节点?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
.not()方法使用要过滤的 selector or an object.

.contents()方法returns a jQuery object containing the children和元素的文本节点.

当使用选择器作为.not()的参数时,它将删除所选择的元素,也可以删除所有文本节点.

一个对象被用作.not()的争论时,它将删除对象而不是文本节点.

例:

<p>This is a <span id="aSpan">paragraph</span> tag</p>

$("p").contents().not("span");
> []

但!

var $sp = $("p span");
$("p").contents().not($sp);
> ["This is a "," tag"]

var sp = document.getElementById("aSpan");
$("p").contents().not(sp);
> ["This is a "," tag"]

为什么“span”选择器(或任何其他选择器)而不是由对象实例选择的文本节点?

解决方法

发生这种情况的原因可追溯到3年前制定的 this particular edit年.它统一了 .filter().not()方法,大大简化了它们,因为它们是相互有效的对立的.

在上述编辑之前,.not()将内部调用.filter(),如果选择器只是一个字符串,那么它将this revision开始的过滤集合(即.nodeType === 1)起作用4年前.

这意味着 – 根据您的代码示例 – 在编辑.not(object)之前,还会返回一个空集合,这似乎比其当前行为更合乎逻辑.

现在,.not(object)和.filter(object)对未过滤的集合进行操作,但前面的方法只会表现出行为差异.

大佬总结

以上是大佬教程为你收集整理的为什么jQuery的.not()方法删除文本节点?全部内容,希望文章能够帮你解决为什么jQuery的.not()方法删除文本节点?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。