我试图从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>
答案 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 - 演示