jQuery多级选择器不起作用,但.children可以

时间:2011-09-08 12:12:13

标签: javascript jquery

我有这个javascript代码,工作正常

var QuestionID = panel.siblings('.QuestionIDWrapper').children('input[type=hidden]').val();

但如果我将其转换为使用这样的多级jQuery选择器:

var QuestionID = panel.siblings('.QuestionIDWrapper input[type=hidden]').val();

我在QuestionID中没有任何价值。

3 个答案:

答案 0 :(得分:3)

查看文档:{​​{3}} 你没有提供实际的标记,但我认为虽然.QuestionIDWrapper是一个傻瓜,输入[type = hidden]不是直接的诽谤,只是一个诽谤孩子。 (因此不匹配)

答案 1 :(得分:2)

如果匹配提供的选择器,第二个只会选择panel的兄弟。由于您的输入是panel兄弟之一的孩子,因此它不是同一级别(不是兄弟姐妹)。

答案 2 :(得分:1)

.QuestionIDWrapper input[type=hidden] - 为此工作输入元素必须是     QuestionIDWrapper类元素的子女。

您正在使用:Descendant Selector (“ancestor descendant”)

在第一个中,您正在使用特定选择器为childer elemtn进行选择。