任何想法为什么这个选择器会失败?jquery 1.8+中的选择器失败
$('.Demographics :input["data-name"]')
你可以看到它here at jsfiddle。
我试图让所有具有data-name
属性的input
元素。
jQuery的1.9,我得到这个:
Syntax error, unrecognized expression: .Demographics :input["data-name"]
任何想法为什么这个选择器会失败?jquery 1.8+中的选择器失败
$('.Demographics :input["data-name"]')
你可以看到它here at jsfiddle。
我试图让所有具有data-name
属性的input
元素。
jQuery的1.9,我得到这个:
Syntax error, unrecognized expression: .Demographics :input["data-name"]
变化:
$('.Demographics :input["data-name"]')
到
$('.Demographics :input[data-name]').length
演示; jsFiddle
谢谢。删除引号解决了它。 –
不客气.. :) –
$('.Demographics').find('input[data-name]').length
或者只是:
$('.Demographics :input[data-name]').length
你不能有属性名左右的报价,只有属性值。 "data-name"
不是有效的属性名称。只有data-name
是:
$(".Demographics :input[data-name]")
然而,对于值,您可以使用引号:
$(".Demographics :input[data-name='test1']")
后者是没有必要的,但建议。
谢谢!根据html,只有在值字符串中有空格或特殊字符时才需要引号。 –
@GlenLittle这是正确的,但即使没有特殊字符,它们仍然可以工作,所以我建议在任何时候都使用它们以保持一致性。 –
有趣的是,这在jQuery 1.7和之前的工作。 –