1

私は Javascript を初めて使用します。ここに単純なものが欠けているようです。クリックしているボタンのIDを返したいだけですが、代わりに「未定義」になっています。

HTML

<div class="btn-group" id="{{user.get('name')}}">
    <button class="btn" id="voteup">^^</button>
    <h4>{{user.get('vote')}}</h4>
    <button class="btn" id="votedown">vv</button>    
</div>

ジャバスクリプト

$(document).ready(".btn").click(function() {
    var id = this.id;
    alert(id);
)};
4

6 に答える 6

6

これを試して

$(document).ready(function() {
    $(".btn").click(function() {
        alert($(this).attr("id"));
    });

});
于 2013-03-27T17:03:49.883 に答える
4

あなたは物事を混同しました。$(document).ready()DOM ツリーが完全にロードされたときに実行されるハンドラ関数を受け入れます。正しい解決策は次のとおりです。

$(document).ready(function() {
    $(".btn").click(function() {
        var id = this.id;
        alert(id);
    });
});
于 2013-03-27T17:03:27.307 に答える
0

この方法を試してみるべきだと思います:

jQuery(document).ready(function(){
  jQuery('.btn').live('click', function(){
    var id = jQuery(this).attr('id');
    alert(id);
  });
});

試してみて、うまくいったかどうか教えてください(:

于 2013-03-27T17:05:49.350 に答える
0

もちろん、JavaScriptにエラーがあります:

$(document).ready(".btn").click(function() { //<----here in doc ready handler
   var id = this.id;
   alert(id);
)}; //<---------------closing of the handler

これは次のように変更する必要があります。

$(document).ready(function(){
   $(".btn").click(function() {
      var id = this.id;
      alert(id);
   });
});
于 2013-03-27T17:12:25.470 に答える
0

jQuery を使用している場合は、次のidように属性を読み取ることができます。

$(this).attr('id');
于 2013-03-27T17:03:38.043 に答える
0

クリックリスナーをバインドする正しい方法は

$(function(){
    $(document).on("click",".btn",function(e){
          alert($(this).prop("id"));
    });
});
于 2013-03-27T17:04:28.387 に答える