首页 > 解决方案 > 如何使用 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

我在定位元素时做错了吗?谢谢

标签: javascript

解决方案


你使用的那个$(美元符号)是 jQuery。(它可能不完全是日常的 jQuery,它可能是 chrome 为没有 jQuery 的页面弥补的东西)

$('<some_selector>')&的结果有区别document.querySelector('<some_selector>');第一个返回一个 javascript 对象,它是 HTML 中的 DOM 节点的包装器。这个包装器对象上有一些方法(包括height(), width(), show(), window(), 等),可以由 jQuery 或其插件添加(如 Dwight 所建议的那样)。但是第二种方式 ( document.querySelector) 返回一个 DOMNode。它是一个普通的 DOM 节点,不!它没有window()方法


推荐阅读