属性等于选择器不工作 ( "input[name='name']" )



我试图实现这种jQuery选择器到我的代码,但它不工作的一些原因,我不明白。这类似于这里的jQuery示例。

<input type="text" name="name" class="orderDetails" />

,查询为:

var nameFieldContent = $('.orderDetails input[name="name"]');
console.log(nameFieldContent);

console.log没有显示任何匹配的元素

您的选择器是错误的,因为类和name属性属于同一个元素,但是您在选择器中使用了后代关系。

var nameFieldContent = $('input[name="name"].orderDetails');

选择器查找名称为name的输入元素,该元素位于类为orderDetails的元素中,如<div class="orderDetails"><input type="text" name="name" /></div>

试着像下面这样改变你的选择器,

 $('input[name=name].orderDetails');

选择器会做的是,

$('.orderDetails input[name="name"]');
// --------------^  Search for descendant elements inside .orderDetails

特别注意:你不需要把属性的值用引号括起来,因为它的值只包含一个单词。

类名和输入是同一级别的,所以你不应该使用空格b/w类和输入。如果使用后代选择器

$('input.orderDetails[name="name"]');

应该是

 $('input[name="name"].orderDetails');

相关内容

最新更新