后代 jQuery 选择器在 IE8 中不工作

Descendant jQuery selector not working in IE8

我有两个htmlforms如下

<form action="#" id="saveForm" name="saveForm">
<input type="hidden" id="rname" name="rname" />
</form>

<form action="#" id="interactor" name="interactor">
<input type="hidden" id="rname" name="rname" />
</form>

我正在尝试 alert second form input 元素的 id 属性,使用以下 jQuery 代码

代码段 1------> 不起作用

jQuery(document).ready(function(){
alert(jQuery('#interactor #rname').attr('id'));
});

我在 alert

中得到 undefined 作为输出

当我提醒 first input 元素的 id id 时,它工作正常,但我得到 undefined 输出 form元素

片段 2 -----> 作品

jQuery(document).ready(function(){
    alert(jQuery('#saveForm #rname').attr('id'));
});

Snippet 1 代码适用于所有其他浏览器,甚至适用于 IE11(虽然没有针对 IE9 和 IE10 进行测试),但它在某种程度上不适用于 IE8

我做错了什么?

ID 对于 html 中的所有元素必须是唯一的,但您仍然可以尝试以下解决方案:

jQuery('#interactor').find('#rname').attr('id')