Javascript 检索grand child元素时jQuery不在IE 9上工作

Javascript 检索grand child元素时jQuery不在IE 9上工作,javascript,jquery,html,internet-explorer,dom,Javascript,Jquery,Html,Internet Explorer,Dom,以下jQuery在IE9上不起作用。不幸的是,我使用的是jQuery1.4 var denomAmount = j(this).closest('.denom').children('.denomValue').eq(0).val(); Dom结构是这样的 <tbody class="denomTable"> ....... <tr class="denom"> ........... <td>

以下jQuery在IE9上不起作用。不幸的是,我使用的是jQuery1.4

var denomAmount = j(this).closest('.denom').children('.denomValue').eq(0).val();
Dom结构是这样的

<tbody class="denomTable">
    .......
    <tr class="denom">
        ...........
        <td>
            <input type="hidden" class="denomValue" />
        </td>
    </tr>
</tbody>

.......
...........

jQuery或IE 9或jQuery版本没有任何问题

只是
.denomValue
不是
.denom
的孩子

.children([selector])

获取匹配元素集中每个元素的子元素,可选地通过选择器进行筛选

尝试使用
。如下图所示查找

j(this).closest('.denom').find('.denomValue').eq(0).val();

假设:
这是
中的一个元素。denom
jQuery或IE 9或jQuery版本没有任何问题

只是
.denomValue
不是
.denom
的孩子

.children([selector])

获取匹配元素集中每个元素的子元素,可选地通过选择器进行筛选

尝试使用
。如下图所示查找

j(this).closest('.denom').find('.denomValue').eq(0).val();

假设:
这是
里面的一个元素。denom
你在
之间有一个元素。denom
之间。denomValue
所以
.children()
不会找到它(它只会看到
s)

请尝试
.find()

.children()方法与.find()的不同之处在于,它只包含.children() 沿DOM树向下移动一个级别,而.find()可以遍历 向下选择多个级别以选择子元素(子元素, 等等)以及


您的
.denom
.denomValue
之间有一个元素,因此
.children()
将找不到它(它将只看到
s)

请尝试
.find()

.children()方法与.find()的不同之处在于,它只包含.children() 沿DOM树向下移动一个级别,而.find()可以遍历 向下选择多个级别以选择子元素(子元素, 等等)以及


您是否可以发布一个复制您的问题的;以及上下文中的
j(this)
;您的遍历从何处开始?顺便说一下,如果您想要该选择器/遍历返回的第一个元素的值,您可以省略
eq()
,因为
val()
将自动从第一个匹配字段返回值。您是否声称此值在其他浏览器上有效?我看不到它是如何工作的。实际上,它在FF和Chrome上工作,没有问题,您可以发布一个重现问题的版本;还有什么
j(此)
,在上下文中;遍历从何处开始?顺便说一句,如果希望从选择器/遍历返回的第一个元素中获得值,可以省略
eq()
,因为
val()
将自动从第一个匹配的字段返回值。您是否声称这在其他浏览器上有效?我看不出它是如何工作的。实际上,它在FF和Chrome上有效没有问题