如何使用jQuery在某些特定div中选择具有相同名称的所有元素[重复]

Posted

技术标签:

【中文标题】如何使用jQuery在某些特定div中选择具有相同名称的所有元素[重复]【英文标题】:How to select all elements with same name inside some specific div using jQuery [duplicate] 【发布时间】:2014-02-24 01:15:59 【问题描述】:

我们有两个 div: 如何选择“div2”内的 name="divText" 的所有输入字段作为数组。

//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>

【问题讨论】:

如果您的实际 html 与此处公开的完全相同,您可以简单地这样做:$('#div2').children(). 我假设你知道后代选择器。如果没有,你真的应该阅读 jQuery 的文档:api.jquery.com/category/selectors。另请查看教程:learn.jquery.com/using-jquery-core/selecting-elements 【参考方案1】:

将Attribute Equals Selector [name="value"] 与ID Selector (“#id”) 一起使用。您的 html 中有错误,div id div1div2 的结束引号也丢失了。

Live Demo

$('#div2 input[name="divText"]')

【讨论】:

作为注释。这将满足标题中的要求,但选择的范围比帖子建议的要广泛。该帖子讨论了输入元素,其中选择了所有元素。这可能是正确的。它还将选择具有指定名称的 div 的子项的所有子项。这可能是正确的,也可能不是正确的 感谢@RuneFS 提醒,已更新。【参考方案2】:

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

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

【讨论】:

【参考方案3】:

使用属性选择器

$("#div2 > input[name='divText']")

jquery 选择器不是数组,但在很多情况下都可以这样处理

【讨论】:

【参考方案4】:

另一种方式:

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

【讨论】:

【参考方案5】:

正如@adil 回答的那样,这是按照您的要求做的正确方法,但我认为放置一个类然后选择它是一种更好的做法。例如:

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

$('.some_class')

这是您不受任何标签类型限制的内容。

【讨论】:

以上是关于如何使用jQuery在某些特定div中选择具有相同名称的所有元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用jQuery从列表中选择具有某些属性的div

jQuery 需要帮助在具有特定类的 div 元素中选择 tr 元素

jQuery - 从选择器中排除具有特定值的输入

JQuery 选择器:如何选择具有特定类 * 和 * id 的项目

如何使用 jQuery 选择具有特定类的下一个表行?

在jquery selectable中拖动非选定的div