我有一个程序将变量分配为:
var theList = document.getElementById('theList');
它使用jquery,但是如果我这样写:
var theList = $('#theList');
使用该变量的函数不起作用。
jQuery选择器和使用getElementById有什么区别?
最佳答案
document.getElementById
返回一个 native DOM元素对象,可以直接访问该节点的属性。
jQuery函数会返回“jQuery集合”,即具有一组相关联的函数/插件的jQuery对象,其作用类似于DOM节点数组。
用来从前者区分前者的一个通用约定是在包含后者的变量前加上$
:
要将jQuery集合中的各个元素提取为DOM节点,请使用.get(n)
或[n]
。
var $theList = $('#theList'); // jQuery collection
var theList = $theList[0]; // DOM node
var theList = $theList.get(0); // also a DOM node
属性和属性访问取决于您是否具有jQuery集合:
var id = $theList.attr('id'); // jQuery function
var id = theList.id; // native property
关于jQuery选择器不适用于将dom元素分配给变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15764964/