jQuery内容不是一个函数。

3
这段jQuery代码试图获取页面中的所有评论元素,但在浏览器控制台运行时会返回错误。

TypeError:$(...).contents不是一个函数

如何获取页面中的所有评论节点?谢谢。

$("*").contents().filter(function() {
  return this.nodeType == 8;
})

你能发布HTML吗? - PrinceG
contains函数应该有一个参数。 - Gulmuhammad Akbari
1
你确定你要运行脚本的网页有jQuery库吗?我问这个问题是因为你说你在浏览器控制台中运行脚本,这依赖于活动网页中jQuery的可用性。 - Nguyen Tuan Anh
1个回答

4

我认为$在您的页面中是指某个其他库,因此请改用jQuery而不是$。另外,请检查您的页面中代码之前是否已经包含了jQuery库。

jQuery("*").contents().filter(function() {
  return this.nodeType == 8;
})

或者使用闭包将$作为函数内的jQuery获取
(function($){
    $("*").contents().filter(function() {
      return this.nodeType == 8;
    })
})(jQuery);

或者

jQuery(function($){
    $("*").contents().filter(function() {
      return this.nodeType == 8;
    })
})

阅读更多信息:避免与其他库冲突


还要记得通过文档就绪处理程序包装代码。


他也必须等待页面加载。 - Ismail RBOUH
@IsmailRBOUH:没错,但这并不会抛出错误。 - Pranav C Balan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接