我试图实现这种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');