使用jQuery如何选择特定div内同名元素?

8
我们有两个div: 如何选择所有名称为“divText”的输入框并将其作为数组,这些输入框位于“div2”内部。 // div1的主体内容
<div id="div1>
<input type="text" name="divText" value="v1" />
<input type="text" name="divText" value="v2"/>
<input type="text" name="divText" value="v3"/>
</div>

//div2的内容
<div id="div2>
<input type="text" name="divText" value="q1" />
<input type="text" name="divText" value="q2"/>
<input type="text" name="divText" value="q3"/>
</div>

1
如果你的 HTML 与此处所示完全相同,你可以这样做:$('#div2').children() - user1636522
1
我假设你已经了解了后代选择器。如果没有,你真的应该阅读jQuery的文档:http://api.jquery.com/category/selectors/。同时也可以查看教程:http://learn.jquery.com/using-jquery-core/selecting-elements/。 - Felix Kling
5个回答

12

1
作为注释:这将满足标题中的要求,但选择的范围比帖子所建议的要广泛。帖子谈论输入元素,而这选择所有元素。这可能是正确的。它还将选择具有指定名称的 div 的所有子代的子代。这可能也是正确的,也可能不正确。 - Rune FS
感谢@RuneFS的提醒,已更新。 - Adil

0

要将输入字段作为数组获取,请使用.get()

var inpfromdiv2=$('#div2').find('input[name="divText"]').get();

0

另一种方式:

$("#div2 input[type=text]")

0

正如@adil所回答的那样,这是你所要求的正确方法,但我认为更好的做法是先定义一个类,然后再选择它。例如:

<div class="some_class">...</div>
<span class="some_class">...</span>

$('.some_class')

这意味着您不受任何标签类型的限制。


0
使用属性选择器。
$("#div2 > input[name='divText']")

jQuery选择器不是一个数组,但在许多情况下可以像数组一样处理


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接