如何使用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
div1
和 div2
的结束引号也丢失了。
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 元素中选择 tr 元素