jquery从DOM获取非唯一ID

说我有这两个唯一ID’d的div,其输入元素不是唯一的ID输入。

...
...

如何根据顶级div ID区分两个输入?

显然,这不起作用:

 $('#id_days_0').attr('checked') 

有没有办法只关注特定div中的一个输入ID?

如前所述,您应该始终使您的ID唯一,并且替换一个类将是一个很好的方法。

话虽如此,您可以参考如下必要的项目:

HTML:

 
First
Second

JavaScript的:

 alert("Check1 = "+$("#column1 #id_days_0").val()+"\n"+"Check2 = "+$("#column2 #id_days_0").val()); 

可以起作用的原因是由于首先引用父对象然后是子对象引用对象。

工作示例: http : //jsfiddle.net/8VqtE/

将父级添加到选择器应该可以解决问题:

 $('#column1 #id_days_0') $('#column2 #id_days_0') 

这是不好的做法,同一页面上的两个元素不应该具有相同的ID。 有一个更好的方法

 

然后你可以找到#column1,并过滤到.days_0

你永远不应该重复ID!

但是,这适用于Chrome:

$('#column2').find('#id_days_0')

如前所述:ID 必须是唯一的,因此您需要更改设计。

例如,您可以使用类,这些类不需要是唯一的:

  

现在您可以使用jQuery来查找正确的输入:

 $('#column_0 .class_days')