你会如何比较jQuery对象?
所以我想弄清楚如何比较两个jQuery对象,看看父元素是否是页面的主体。
这是我有什么:
if ( $(this).parent() === $('body') ) ...
我知道这是错误的,但是如果有人明白我的意思,他们能否指出我正确的做法?
您需要比较原始DOM元素,例如:
if ($(this).parent().get(0) === $('body').get(0))
要么
if ($(this).parent()[0] === $('body')[0])
为什么不:
if ($(this).parent().is("body")) { ... }
?
不需要循环,不需要testing单个第一个节点。 除了确保长度相同并且共享相同的节点之外,几乎没有什么是必需的。 这是一个小的代码片段。 你甚至可能想把它转换成一个jQuery插件供自己使用。
jQuery(function($) { // Two separate jQuery references var divs = $("div"); var divs2 = $("div"); // They are equal if (divs.length == divs2.length && divs.length == divs.filter(divs2).length) { // They are not } else {} });
我偶然发现了这些答案,并想知道哪一个更好。 这一切都取决于你的需求,但最简单的打字,阅读和执行是最好的当然。 这是我做决定的性能testing用例。