0

ここでは JQuery/JS の初心者ですが、これまでのところ学習体験を楽しんでいます。

私のシナリオ:

次のような複数のボタンがあります。

<button id="thumb-1" class="thumbs">click 1</button>
<button id="thumb-2" class="thumbs">click 2</button>
<button id="thumb-3" class="thumbs">click 3</button>

thisユーザーがクリックすると、次のようにキーワードを介してカスタム関数に渡します。

$('.thumbs').click(function(){
    $.fn.myFunc(this);
}

jQueryオブジェクト、つまりボタンhtml全体を関数に送信します。

<button id="thumb-x" class="thumbs">click x</button>

ここでやりたいことは、そのボタンの ID を取得して文字列変数に格納することです。もちろん、次を使用しても機能しません.htmlボタン要素にはattrメソッドがありません。

$.fn.myFunc = function(button) { 
    var id = button.attr('id');
}

誰でも簡単なアイデアはありますか?

ありがとう!- ジェームズ

4

3 に答える 3

4

使用したい場合はattr()ボタンをjqueryオブジェクトに変換するか、オブジェクトからIDを取得したい場合javascriptは使用しますbutton.id

$.fn.myFunc = function(button) { 

    var id = $(button).attr('id'); // with jquery object
    id = button.id; //with javascript object 
}
于 2012-12-05T10:34:06.873 に答える
2

jQuery関数を使用する前にjQueryオブジェクトにする必要があります

$.fn.myFunc = function(button) { 
    var id = $(button).attr('id');
}
于 2012-12-05T10:34:08.357 に答える
0

myFunc から "this" を送信する場合、jquery 属性を使用する必要はありません。直接アクセスできるため、より高速で簡単になります。

$(".thumbs").click(function(){
$.fn.myFunc(this);
});
$.fn.myFunc = function(button) {
alert(button.id);
}

以下のフィドルを参照してください

http://jsfiddle.net/m2Ts5/18/

ありがとう

于 2012-12-05T10:47:24.730 に答える