0

機能がIE7で機能するように、Javascriptの行を変換しようとしています。以下は、変換しようとしているコードです。明らかに IE は、問題が発生する場所である class 属性が設定されるのを好みません。したがって、私の解決策は、ブラウザの互換性のために JQuery を使用して翻訳することでした。しかし、配列をJQueryが理解できるものに変換するのに問題があります。

これはコードです:

    ulAccNm.children[iVal].setAttribute("class", "show");

以下を試してみましたが、正しく動作しません。

  $(ulAccNm).children(jQuery.inArray("iVal")).addClass('show').removeClass('hide');

iVal の変数は、親への子の総数に変換され、それぞれをループして、クラスを追加するかどうかを決定します。どんな助けでも大歓迎です。

4

3 に答える 3

0

Kevin Bの.children()。eq(ival)の提案を使用して修正することになり、これで機能します

于 2013-03-19T15:20:17.953 に答える
0

ここで多くのことを推測していますが、これは翻訳されると思います:

$($(ulAccNm).children()[iVal]).addClass('show').removeClass('hide');

ただし、すべての子に対してこれを実行する場合は、明示的なループは必要ありませんiVal。使うだけ

$(ulAccNm).children().addClass('show').removeClass('hide');
于 2013-02-28T15:14:07.727 に答える
0

ループ構造を for ループから jQuery.each メソッドに変更してみてください。

$(ulAccNm).children().each(function () {
    // Decide if the class needs to be changed
    if (needsToBeChanged)
        $(this).addClass('show').removeClass('hide');
})
于 2013-02-28T15:15:12.247 に答える