我在JavaScript中选择了一个DOM元素。
var myParentElement = document.getElementById('myParentId');
现在,让我说我想要,使用jQuery选择第一个元素,它是一个孩子,是一个可见的,启用的输入元素,AND具有给定属性的特定值(这里和我想要检查元素的名称)。
$([name="myChildName"]).children(':input:enabled:visible:first'); // ?
以上代码段不正确,我该如何解决? (我知道一点CSS,但jQuery不多)。
附加要求:我仅限于jQuery 1.7.2
编辑:对不起,实际上比第一行复杂一点,因为我有一个名字,而不是一个ID。无论如何,多亏了你的建议我找到了我想要的解决方案: $(" [name =' + myNameIdentifier +']")。filter(":input:enabled:visible:first"); IIRC 第一对引号是必须的,不包括它们是一个明显的错误。
另外,我忽略了孩子之间的区别,发现和过滤,所以我的问题不清楚。我想选择具有给定名称的所有元素,然后对该选择应用过滤器(不关心孩子或后代)。
答案 0 :(得分:1)
$。children()返回元素的所有子元素,因此您的代码实际上会尝试在:input:enabled:visible:first
元素中找到[name="myChildName"]
,而不仅仅是过滤它。你可能想:
$('#myParentId').children(':first-child:enabled:visible')
答案 1 :(得分:1)
$('#myParentId > [name="myChildName"]:input:enabled:visible:first')