IE7上的JQuery选择器问题用于输入标记

时间:2011-04-25 18:29:40

标签: jquery jquery-selectors

我有几种不同的ID,但输入名称和ID相同。例如:

<form id="form1>
    <input name="email" id="email" value="test@test.com"/>
     ..... 
</form>
<form id="form2>
    <input name="email" id="email" value="test@test.com"/>
     ..... 
</form>

在我的Jquery ready函数中,我有下面的代码。这适用于FireFox,Chrome,但不适用于IE7。这是警报功能,在FireFox,Chrome中显示电子邮件值为“test@test.com”,但IE7显示为“未定义”。有什么建议吗?

  $(document).ready(function() { 
        alert($("#form1 #emailAddress").val());
    });

3 个答案:

答案 0 :(得分:4)

重复的ID无效,我不会指望任何选择器过滤在jQuery的当前版本,过去版本或未来版本中工作。这些元素不应该有id,应该按名称选择它们。

e.g:

$('#form1 [name=email]')
$('#form2 [name=email]')

答案 1 :(得分:0)

$(document).ready(function() { 
      alert($("#email","#form1").val());
 });

测试此代码

答案 2 :(得分:-2)

看到您的输入名称和ID都只是“电子邮件”....并且在您的选择器中您有电子邮件地址...这将给您一个未定义的。

尝试类似

的内容
$(document).ready(function() {          
alert($("#form1>#email").val());     
});