jquery - jQuery contains 方法只返回 false
问题描述
在https://www.google.ca/上,我试图查看正文是否包含特定的类或特定的 id((.content,#main),它确实如此)。但是, contains() 方法只返回 false。我不明白为什么。
谁能解释这是为什么?
var jqry = document.createElement('script');
jqry.src = "https://code.jquery.com/jquery-3.3.1.min.js";
document.getElementsByTagName('head')[0].appendChild(jqry);
jQuery.noConflict();
$.contains($('body'), $('.content')) #returns false
$.contains($('body'), $('#main')) #returns false
此外,使用 vanilla JavaScript 选择器,下面的代码可以工作,但上面的代码不行,这是有原因的吗?
$.contains(document.body, document.getElementsByClassName('content')[0]) #returns true
$.contains(document.body, document.getElementById('main')) #returns true
解决方案
来自 jQuery 文档:
注意:第一个参数必须是 DOM 元素,而不是 jQuery 对象或纯 JavaScript 对象。
我对其进行了测试,但显然这两个元素都需要是 DOM 元素:
var jqry = document.createElement('script');
jqry.src = "https://code.jquery.com/jquery-3.3.1.min.js";
document.getElementsByTagName('head')[0].appendChild(jqry);
jQuery.noConflict();
const ele = $("#main")
$.contains(document, ele[0])
推荐阅读
- elasticsearch - Elasticsearch 查询将多个值匹配到单个字段
- java - 如何以有效的方式从 Firebase 数据库中检索数据
- python - 使用 Django3.1 时无法显示传递给模板的上下文
- python - 如何为调用 SetWindowCompositionAttribute 的窗口实现圆角
- elasticsearch - 用于不确定量 i18n 的 Elasticsearch
- ios - 如何从 Firestore 检索自动生成的 documentID,以重用 documentID,因此我的数据不会被替换
- python - 如何忽略正则表达式中不需要的模式
- c++ - 为什么在这种情况下模板参数是参考?
- python - 如何从字典的字典列表中提取元素
- python - 如何在不同的线程中运行无限循环的协程?