首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在jQuery中选择特定的表单元素?

如何在jQuery中选择特定的表单元素?
EN

Stack Overflow用户
提问于 2010-12-08 20:17:54
回答 5查看 209.4K关注 0票数 74

我有两个这样的表单:

代码语言:javascript
复制
<form id='form1' name='form1'>
  <input name='name' id='name'>
  <input name='name2' id='name2'>
</form>

<form id='form2' name='form2'>
  <input name='name' id='name'>
  <input name='name2' id='name2'>
</form>

现在,我想在form2name字段中插入文本。我使用的是following jQuery code,但它填充了form1name字段。

代码语言:javascript
复制
$("#name").val('Hello World!');

那么如何只选择特定的表单元素呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-12-08 20:21:06

拥有相同的ID两次是无效的,这就是为什么#name只找到第一个ID。

您可以尝试:

代码语言:javascript
复制
$("#form2 input").val('Hello World!');

或,

代码语言:javascript
复制
$("#form2 input[name=name]").val('Hello World!');

如果您遇到无效页面并希望选择所有的#name,您可以使用id上的属性选择器:

代码语言:javascript
复制
$("input[id=name]").val('Hello World!');
票数 147
EN

Stack Overflow用户

发布于 2015-08-08 03:12:17

我更喜欢#form2的id后代选择器,如下所示:

代码语言:javascript
复制
$("#form2 #name").val("Hello World!");

http://api.jquery.com/descendant-selector/

票数 9
EN

Stack Overflow用户

发布于 2010-12-08 20:25:22

虽然它是无效的html,但您可以使用选择器上下文来限制您的选择器,在您的情况下,它将如下所示:

$("input[name='name']" , "#form2").val("Hello World! ");

http://api.jquery.com/jquery/#selector-context

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4387319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档