我正在尝试为我的代码实现这种jQuery选择器,但由于某种原因我不理解它不起作用。这类似于jQuery example here。
<input type="text" name="name" class="orderDetails" />
,查询是:
var nameFieldContent = $('.orderDetails input[name="name"]');
console.log(nameFieldContent);
console.log没有显示任何匹配的元素。
答案 0 :(得分:4)
您的选择器是错误的,因为类和name属性属于同一个元素,但您在选择器中使用了后代关系。
var nameFieldContent = $('input[name="name"].orderDetails');
您的选择器会查找名为name
的输入元素,该元素位于类orderDetails
<div class="orderDetails"><input type="text" name="name" /></div>
的元素内
答案 1 :(得分:3)
尝试更改您的选择器,如下所示
$('input[name=name].orderDetails');
你的选择器会做什么,
$('.orderDetails input[name="name"]');
// --------------^ Search for descendant elements inside .orderDetails
特别注意:您不需要将属性的值包含在引号内,因为其值包含单个单词。
答案 2 :(得分:3)
类名和输入是同一级别的。所以你不应该使用空格b / w class和input。如果它被用作后代选择器
$('input.orderDetails[name="name"]');
答案 3 :(得分:2)
应该是
$('input[name="name"].orderDetails');