8

以下のコードでクリックしたオブジェクト名を取得しようとしていますが、[オブジェクトオブジェクト]しか取得できません。どうすればオブジェクト名を取得できますか?

<a href="#" class="clickme">click</a>

    $('.clickme').click(function(){
      alert($(this));
      return false;
    });

'.clickme'オブジェクト名として取得したいのですが。

ありがとう。

編集:

助けてくれてありがとう。はっきりしないことをお詫びします。

このjqueryclick()をカスタマイズされた関数またはプラグインに変換するときに、オブジェクト名を動的に取得したいと思います。

それで、

<a href="#" class="clickme">click</a>

        $('.clickme').click(function(){
          alert($(this));
          return false;
        });

'.clickme'オブジェクト名として取得したいのですが。

と、

<a href="#" id="clickme">click</a>

        $('#clickme').click(function(){
          alert($(this));
          return false;
        });

'#clickme'オブジェクト名として取得したいのですが。

したがって、ID名を取得したい場合もあれば、オブジェクト名としてクラス名を取得したい場合もあります。

4

5 に答える 5

8

selectorjQueryには、探しているものを見つけるために使用できる内部プロパティがあります。

$('.clickme').selector == '.clickme';
$('.clickme').find('a').selector == '.clickme a';

click(function(e){})ただし、次を使用して再選択する必要があるため、内でこれにアクセスすることはできませんthis

$('.clickme').click(function(e){
  alert($(this).selector); // alerts nothing
});

ただし、クリック関数を作成するときに、その要素を変数に割り当てて、次の範囲内で参照することができます。

var $cm = $('.clickme').click(function(e){
  alert($cm.selector); // alerts '.clickme'
});
于 2011-04-02T16:39:07.247 に答える
4

それがクラスです。オブジェクト名ではなく、確かにユニークなものはありません。

this.classNameまたはを使用して取得できます$(this).attr('class')

何かユニークなものが必要な場合は、id属性を使用して。に置き換えclassidください。

于 2011-04-02T16:25:47.653 に答える
4

これは正確な質問には答えませんが、私がそこに着いたときに得た質問には答えます-だからあなたも多分;-)

簡単な答え:「$(this).attr('name')」と同じ「 this.name 」を使用してください

サンプル:

$("*").click(function (event) {
   event.stopPropagation();
   // Display the name of the clicked object
   $(this).after("<span> " + this.name +" clicked! </span>");
   // Change the name for what you want (optional - just to show it's doable)
   this.name = this.name + "X";
});
于 2012-07-19T16:05:32.203 に答える
1

名前またはID?

 $('.clickme').click(function(){
  alert( this.id );  // or $(this).attr('name') if you want the name
  return false;
});

実際にどのように見えるかは、クラスが必要なことです(ただし、クラスをセレクターとして使用したため、理由はわかりません)。

 $('.clickme').click(function(){
  alert( $(this).attr('class') );
  return false;
});
于 2011-04-02T16:26:32.973 に答える
1

イベントオブジェクトを使用する代替手段

$('.clickme').click(function(e){
  alert($(e.target).attr('class'));
  return false;
});
于 2011-04-02T17:10:23.890 に答える