jQuery中的多个条件选择器

时间:2012-07-09 17:30:49

标签: jquery

我有以下代码,我想选择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");

5 个答案:

答案 0 :(得分:9)

ID 是唯一的。

如果由于某种原因你不能改变html )你可以按名称选择

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

答案 1 :(得分:1)

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

(也就是说,修复你的html以获得唯一ID,然后使用id来选择。)

答案 2 :(得分:1)

对多个元素使用1个ID是无效的,您应该使用class代替:

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

DEMO

答案 3 :(得分:1)

<input type="text" name="announcement_date"
class="announcement_date" value="1111" />

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

然后

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

Demo

答案 4 :(得分:0)

我相信你可以使用this的想法。

所以你可以使用..

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

这是a related SO question which is similar.