1

次の jQuery は IE9 では動作しません。残念ながら、私はjQuery 1.4を使用しています

var denomAmount = j(this).closest('.denom').children('.denomValue').eq(0).val();

ドム構造はこんな感じ

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

2 に答える 2

8

There is nothing wrong with jQuery or IE 9 or jQuery version.

It is just that .denomValue is not a child of .denom.

.children( [selector ] )

Get the children of each element in the set of matched elements, optionally filtered by a selector.

Try using .find like below,

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

Assumption: this is an element inside .denom

于 2013-05-17T16:49:31.437 に答える
1

あなたとあなたの間に要素があるので.denom.denomValueそれ.children()は見つかりません(<td>s.

.find()代わりに試す

http://api.jquery.com/children/

.children() メソッドは .find() とは異なり、.children() は DOM ツリーを 1 レベル下に移動するだけですが、.find() は複数のレベルを下に移動して子孫要素 (孫など) も選択できます。

于 2013-05-17T16:51:43.440 に答える