javascript - 如何使用 querySelector 找到正确的元素
问题描述
在 chrome 控制台中,我可以注入如下所示的 js
$("#pageForm").window('open');
然后会弹出 DIV 表单,但是,如果我将其更改为以下
document.querySelector("div#pageForm").window('open');
它将返回错误:Uncaught TypeError: document.querySelector(...).window is not a function at :1:41
我在定位元素时做错了吗?谢谢
解决方案
你使用的那个$
(美元符号)是 jQuery。(它可能不完全是日常的 jQuery,它可能是 chrome 为没有 jQuery 的页面弥补的东西)
$('<some_selector>')
&的结果有区别document.querySelector('<some_selector>')
;第一个返回一个 javascript 对象,它是 HTML 中的 DOM 节点的包装器。这个包装器对象上有一些方法(包括height()
, width()
, show()
, window()
, 等),可以由 jQuery 或其插件添加(如 Dwight 所建议的那样)。但是第二种方式 ( document.querySelector
) 返回一个 DOMNode。它是一个普通的 DOM 节点,不!它没有window()
方法
推荐阅读
- itext - iText - 如何替换页面并保留书签
- python - Python argparse 中的 MetavarTypeHelpFormatter 是什么意思?
- javascript - 在 nodejs 服务器和 react web 客户端之间共享 javascript 类
- php - Twitter Group DM API
- java - 从java中的特定类调试代码
- ios - 使用 Swift 4.2 编译框架时 Xcode 9.4 中的 Swift 兼容性问题
- ruby-on-rails - Rails - 按大陆、国家和城市进行地理编码
- python-3.x - 在 IPython 中绘制 PyEDA 二元决策图
- python - 无法在根布局 Kivy 中定位子布局
- c# - SQL Server 锁定防止事务 C# 中的更新