Javascript 检索grand child元素时jQuery不在IE 9上工作
以下jQuery在IE9上不起作用。不幸的是,我使用的是jQuery1.4Javascript 检索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>
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上有效没有问题