选择器在jquery 1.8+中失败

时间:2013-01-21 03:26:43

标签: jquery jquery-selectors

知道这个选择器失败的原因吗?

$('.Demographics :input["data-name"]')

你可以看到它here at jsfiddle

我正在尝试获取具有input属性的所有data-name元素。

在jquery 1.9中,我得到了这个:

Syntax error, unrecognized expression: .Demographics :input["data-name"]

3 个答案:

答案 0 :(得分:4)

变化:

$('.Demographics :input["data-name"]')

$('.Demographics :input[data-name]').length

演示; jsFiddle

答案 1 :(得分:2)

您不能在属性名称周围添加引号,只能使用属性值。 "data-name"不是有效的属性名称。只有data-name是:

$(".Demographics :input[data-name]")

但是,对于值,您可以使用引号:

$(".Demographics :input[data-name='test1']")

后者不是必需的,但建议使用。

答案 2 :(得分:1)

$('.Demographics').find('input[data-name]').length

或者只是:

$('.Demographics :input[data-name]').length