0

私は今、JavaScript(jQueryではなく)でボタンをクリックするだけで関数を割り当てる非常にシンプルで効果的な方法を探しています。

私が抱えている問題は次のとおりです。1.domがまだ作成されておらず、javascript関数に未定義の変数が含まれていることがあります。2.この関数に正しい方法で属性を渡すことができません。

だから基本的に私はこれらを持っています:

<div class="container">
    <button type=button class="click">Click</button>

    <div class="smallContainer">
        <img src="source.com" class="myimage">
        <div class="data"> some data</div>
    </div>
</div>

<div class="container">
    <button type=button class="click">Click</button>

    <div class="smallContainer">
        <img src="source.com" class="myimage">
        <div class="data"> other data</div>
    </div>
</div>


<div class="container">
    <button type=button class="click">Click</button>

    <div class="smallContainer">
        <img src="source.com" class="myimage">
        <div class="data"> usefull data</div>
    </div>
</div>


for (){ assign in each button the onclick function}

function onclick(){
        here i want to change the opacity of the image by the class "myimage",
        take the innerHTML of the div by the class "data" and do something to it(maybe i ll send an ajax request in this function also)
    }

したがって、すべてのボタンにこの関数を割り当てる for ループまたは何か (おそらく javascript ファイル内) が必要です。ボタンをクリックするたびに、どのボタンがどのボタンで、クラス「データ」の div が内部に何を持っているかを知る機能が必要です。

私は多くの方法を試しましたが、それぞれに問題がありました。誰でも簡単な作業ソリューションを手伝ってもらえますか?

ありがとうございました

4

2 に答える 2

1

プレーンJavaScriptでこれを簡単に行うスキルがないとおっしゃっていたので、jQueryをツールボックスに追加するときが来ました。

これがあなたが必要とするすべてのコードについてです

 $function() { // when the page is ready
   $(".click").on("click", function(e) { // assign a function to ALL class="click" 
     var id = this.id; // or $(this).attr("id"); - if you need the button's ID
     var divContent = $(this).parents().find(".data").html()
     $.get("someserver.php",{"id":id,"parm":divContent},function(data) {
       alert(data);//  from server
     });
   });
 });
于 2013-02-10T15:36:57.033 に答える
-2

jqueryライブラリを使ってみてください:)それでyoyは次のようなコードを実行できます

<script>
$(".data").click(function(){
  var class_value = $(this).html();
})
</script>

ご覧のとおり、関数はクラス「データ」を持つすべての要素に適用されます

于 2013-02-10T15:23:33.590 に答える