【问题标题】:Specifying an input ID in JQuery在 JQuery 中指定输入 ID
【发布时间】:2013-11-04 22:11:16
【问题描述】:

假设我的页面有多个具有唯一 ID 的表单。但是每个输入及其 ID 在整个表单中都是相同的。现在如果提交了#form02,我如何使用jQuery 获取该表单的#emailaddress

我知道如何获取$("#emailaddress").val();,但这似乎只代表一个输入,而不是来自我提交的表单。或者唯一的方法是给每个输入一个唯一的 ID?

【问题讨论】:

  • 元素ids 对于整个页面必须是唯一的。

标签: jquery html forms


【解决方案1】:

只让最顶层的表单有 id,因为它们确实是独一无二的。对于所有其他元素,使用类名。然后就可以得到$("#form02 .emailaddress")

根据jQuery's id-selector 的文档:

每个 id 值在文档中只能使用一次。如果为多个元素分配了相同的 ID,则使用该 ID 的查询将仅选择 DOM 中第一个匹配的元素。但是,不应依赖此行为;具有多个使用相同 ID 的元素的文档无效。

【讨论】:

  • 实际上,@matewka 的第一个选择器想法,$('#form02 #emailadress') 实际上也会给你想要的结果,但正如文档所说 - 不要依赖这个。
【解决方案2】:

第一id对于整个页面必须是唯一的。
第二,您可以像在 CSS 中一样指定选择器:

$('#form02 #emailadress')

上面的代码当然是不正确的,与第一条语句有关。我会建议这样的事情

<input class="emailadress" ...

然后

$('#form02 .emailadress')

【讨论】:

    猜你喜欢
    • 2017-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-05
    • 2020-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多