如何使用querySelector定位正确的元素

时间:2018-08-14 10:41:54

标签: javascript

在chrome控制台中,我能够注入如下所示的js

$("#pageForm").window('open');

然后,将弹出DIV表单,但是,如果我将其更改为以下

document.querySelector("div#pageForm").window('open');

它将返回错误:未捕获的TypeError:document.querySelector(...)。window不是函数     在:1:41

在查找元素时我做错了吗? 谢谢

4 个答案:

答案 0 :(得分:1)

您正在调用的window方法-无论是什么-是您所使用的插件提供给jQuery的方法。 jQuery似乎没有开箱即用的window方法。由于您使用的是jQuery插件,因此需要使用jQuery而不是查询选择器来定位元素。

答案 1 :(得分:1)

您使用的$(美元符号)是jQuery。 (它可能并不是每天都有的jQuery,可能是由chrome组成的,而不是没有jQuery的页面)

$('<some_selector>')document.querySelector('<some_selector>')的结果之间存在差异;第一个返回一个javascript对象,该对象是HTML中找到的DOM节点的包装。此包装器对象具有一些方法(包括height()width()show()window()等),这些方法可以由jQuery或其插件(如由Dwight建议)。但是第二种方式(document.querySelector)返回DOMNode。这是一个普通的DOM节点,没有!它没有window()方法

答案 2 :(得分:1)

是的,我同意以上答案。看来您正确选择了元素。但是,window属性并不属于js。它必须是一个jquery插件,以便您可以与jquery一起使用。 jQuery可以使用的另一个功能。

答案 3 :(得分:0)

您可以简单地用$

包装queryselctor
$(document.querySelector("div#pageForm")).window('open');