属性等于选择器不起作用(“input [name ='name']”)

时间:2014-07-22 07:10:48

标签: jquery html5

我正在尝试为我的代码实现这种jQuery选择器,但由于某种原因我不理解它不起作用。这类似于jQuery example here

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

,查询是:

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

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

4 个答案:

答案 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');