4

我有以下代码,我想选择 type = text 和 id 为“announcement_date”的元素。我将如何在 jQuery 中执行此操作?请注意,这两个元素具有相同的 id。这是在我正在使用的旧版经典 ASP 页面中。

<input type="hidden" name="announcement_date" id="announcement_date" value="1111"></input>
<input type="text" name="announcement_date" id="announcement_date" value="323"></input>
<input type="text" name="eff_date" id="eff_date" value="123"></input>
<input type="text" name="end_date" id="end_date" value="123"></input>

我尝试了下面的选择器,但它未能选择正确的元素。

$("#announcement_date type=text").addClass("error");
4

5 回答 5

10

ID必须是唯一的。

如果由于某种原因您无法更改 html)您可以按名称选择

$('input[name="announcement_date"][type="text"]');
于 2012-07-09T17:33:53.817 回答
1

您应该只使用 id ,因为在 HTML 中两个元素具有相同的 id 是非法的。

(也就是说,将您的 html 修复为具有唯一 ID,然后使用 id 进行选择。)

于 2012-07-09T17:32:14.423 回答
1

对多个元素使用 1 个 id 是无效的,您应该class改用:

$('.announcement_date[type="text"]').addClass('error')

演示

于 2012-07-09T17:33:23.040 回答
1
<input type="text" name="announcement_date"
class="announcement_date" value="1111" />

<input type="submit" name="announcement_date"
class="announcement_date" value="Submit" />

然后​</p>

$(':text.announcement_date').addClass("error");

演示

于 2012-07-09T17:58:56.833 回答
0

我相信你可以使用这个想法。

所以你可以使用..

$('input[type="text"][name="announcement_date"]')

这是一个类似的相关SO问题。

于 2012-07-09T17:41:27.790 回答