类的元素数组 - TypeError:$ .id不是函数

时间:2016-04-26 16:21:09

标签: javascript jquery html dom

我试图从div的元素创建一个所有共享类的数组。

div的ID为settingsMenu,我需要存储在数组中的所有元素共享一个menuOption类。 JQuery尝试如下:

var options = $.id('settingsMenu').getElementsByClassName('menuOption');

当我在里面用这个语句执行函数时,我得到的错误是:

  

"未捕获的TypeError:$ .id不是   功能"

$.id似乎有问题,我使用它错了吗?

虚拟HTML:

<div id="settingsMenu">
    <input type="text" class="menuOption" />
    <input type="checkbox" class="menuOption" />
</div>

2 个答案:

答案 0 :(得分:3)

如果你想使用jQuery,那么你不需要使用像getElementsByClassName()这样的纯Javascript函数作为jQuery provides a very easy to use syntax来访问DOM元素。

您可以按如下方式重构代码:

// This will retrieve all elements with the class "menuOption" below an element 
// with ID "settingsMenu"
var options = $('#settingsMenu .menuOption');

答案 1 :(得分:1)

我不完全确定我采用这种方法,也没有看到这种方法用于按ID选择元素。为什么不将选择器与以下内容嵌套?

var options = $('#settingsMenu .menuOption');

JSFiddle Link - 演示

请务必查看jQuery ID Selector (“#id”) docs以及selectors一般