0

私がやろうとしているのは、送信ボタンがクリックされたときに親要素の背景色を変更することです。

だから私はこのコードを試しました:

            $("input.submit").click(function(){
                var className = $(this).parent().attr("class");
                $(className).animate({backgroundColor: '#FFB95E'}, 1000);
                $(className).animate({borderColor: '#C97200'}, 1000);
            });

しかし、親要素のクラス名を取得することはできません。親要素が異なるいくつかの送信ボタンがあります。そのため、この方法で行う必要があります。

誰か助けてもらえますか?

どうもありがとう

ピーター

4

2 に答える 2

1

マークアップの例はこの問題に役立ちますが、親要素を取得するために正しいコードを使用しているようです。

firebugのようなデバッガーを使用して、それが何であるかを確認することをお勧めします。または$(this).parent()[0]、親要素が存在する場合は親要素がないことを認識し、適切な要素があるかどうかを確認します。alert($(this).parent()[0]);"object"alert($(this).parent()[0].outerHTML);

最後に$(className)、冗長であり、以下のように要素コマンドをゲッターでチェーンするか、変数をそのまま使用するだけでは目的はありません。これはすでにjQueryオブジェクトです。

$(this).parent().animate({backgroundColor: '#FFB95E'}, 1000).animate({borderColor: '#C97200'}, 1000);
于 2012-10-11T11:17:25.127 に答える
0

なぜ単純ではないのですか

$(this).parent()
       .animate({backgroundColor: '#FFB95E',
                 borderColor: '#C97200'}, 1000);

背景色を設定するために親のクラスを取得する必要はありません。ただし、色のアニメーションがデフォルトで機能しないと誤解していない場合は、トランジションを処理するためのプラグインが必要になります

于 2012-10-11T10:55:07.623 に答える