jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了检测jQuery对象是否在页面上大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
给定一个jQuery对象$ j,我需要知道它是否代表页面上已经存在的东西,或者是否还没有放在页面上。例如,如果我有这个:
$j = $('#id-of-something-already-on-the-page');

要么

$j = $('<p>Where is pancake house?</p>').appendTo($('#this-is-already-there'));

然后我在页面上有一些东西,我不需要把它放在页面上。但是,如果我只是这样做:

$j = $("<p>I'll cook you some eggs,Margie.</p>");

然后我需要在页面之前附加它。

问题是你如何询问$ j是否在页面上?我认识了两种工作方式:

>看看它是否有一个父项:$ j.parent()。length> 0表示它在页面上。
>看看它是否有一个有效的索引:$ j.index()> -1表示它在页面上。

如果$ j是html或可能的body,我可以看到第一个失败我很高兴忽视这两个病理病例。我不能想到第二种方法会失败的任何方式。

有没有一个标准的技术来询问jQuery对象是否在页面上?我不在乎$ j是否可见。

解决方法

就个人而言,我首先从你知道的元素在页面中下降,如< html>或< body>,并使用 .has()
if ($('html').has($j).length)
{
    // $j is in the page
}

即使对于您提到的两个病理情况,这也是可行的。检查.length而不是.size()是more idiomatic。还没有理由检查返回的值是> 0. length属性将永远是一个非负整数,因此可以检查该值的真实性。

大佬总结

以上是大佬教程为你收集整理的检测jQuery对象是否在页面上全部内容,希望文章能够帮你解决检测jQuery对象是否在页面上所遇到的程序开发问题。

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

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