2012-08-08 23 views
7

DIV内にある特定のグループのボタンを選択し、そのIDをページの非表示フィールドに割り当てることを希望しますが、私の人生の中では、div内のJquery選択ボタン

SOURCE HTML

<div id = test> 
    <div class="ButtonGroupWrapper">      
        <img src="test.jpg" width="100" height="100" alt="thumbnail" /> 
       <input id="buttonID5" type="submit" value="Link" class="button" /> 
    </div> 
    <div class="ButtonGroupWrapper">      
        <img src="test.jpg" width="100" height="100" alt="thumbnail" /> 
       <input id="buttonID6" type="submit" value="Link" class="button" /> 
    </div> 
    </div> 

jQueryのセレクタが

$(".ButtonGroupWrapper").find(":button").click(function() { 
     alert("hi there"); 
     return false; 
    }); 

    $("#ButtonGroupWrapper input[type=button]").click(function() { 
     alert("hi there"); 
     return false; 
    }); 

    $("#ButtonGroupWrapper :button").click(function() { 
     alert("hi there"); 
     return false; 
    }); 

答えて

10

試してください:あなたは.ない:が先行するクラスをターゲットにしようとしているので、

$(".ButtonGroupWrapper").find(".button").click(function() { 
     alert("hi there"); 
     return false; 
}); 

あなたの最初の例が失敗しました。また、ボタンタイプの要素をターゲットにしようとしているかもしれませんが、問題の要素はタイプsubmitです。

2つ目の例では、タイプが存在しない場合(タイプがsubmitの場合)、タイプボタンの入力を選択しようとしています。代わりの方法はinput[type=submit]です。

第3の例は、ボタンのタイプの要素を探しているという点で最初の例が失敗したのと同じ理由で失敗します。

http://api.jquery.com/button-selector/

+1

ありがとうございました。 アラート( "hi there"); false false; }}}}}}}}}}}}}}}}}}} ); – RenRock

0

これは動作しますが失敗した

の下のdiv ..例は失敗します
$(".ButtonGroupWrapper").find(".button").click(function() { 
    alert("hi there"); 
    return false; 
}); 
7

はスペースを入れても参照してくださいあなたの.ButtonGroupWrapperクラス内の任意の.buttonクラスを探します。 (注:これに追加されたコードのクラス=「ボタン」ではない任意の「ボタン」、何でも)あなたのHTMLコード入力が「ボタン」の「クラス」を持って提出して

$(".ButtonGroupWrapper .button").click(function() { 
    alert("hello"); 
    return false; 
}); 

。 実際には、.strawberryや.mybuttonなどの何かが好きかもしれません。

オルタナティブ:

<div id ="test"> 
    <div>      
    <img src="test.jpg" width="100" height="100" alt="thumbnail" /> 
    <input type="submit" value="Link" class="button" /> 
    </div> 
    <div>      
    <img src="test.jpg" width="100" height="100" alt="thumbnail" /> 
    <div class="button" />Just text</div> 
    </div> 
</div> 

をそしてあなたのjavascriptが考えられます:あなたは全体の多くを包むIDを持っていたよう

あなたはまた、ID内のボタンをターゲット可能性が

$("#test .button").click(function() { 
    alert("button class clicked"); 
    return false; 
}); 

DOMがロードされた後でこれを実行する必要があることを覚えておいてください。そのため、ベストプラクティスはページの最後に書くか、あなたの好きなonready関数で。

+1

サイトに貢献していることは素晴らしいですが、元の質問の**日付**および**ステータス**に注意してください。 ** 1年前**の質問が掲載されました。著者はすでに非常に良い、完全な回答を受け入れています(j08691の回答の横にある緑のチェックマークに注意してください)。通常、回答が全くないか(または非常に不十分で不完全な回答のみ)、数ヶ月以上の質問には回答しないでください。既に受け入れられている質問に答える場合も同様です。*受け入れられた*とは、OPが効果的に彼の質問に答えたということを意味する。 – Daniel

+0

私に知らせてくれてありがとう。 –

+0

@ダニエル、実際には、デジタルは、受け入れられた答えにはない非常に有用な情報を追加したと思います。私は1つ、新しい答えが掲載されてうれしいです! – JoshP

関連する問題