我有一个程序将变量分配为:

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/

10-11 17:28