3

最後にクリックした要素のクラスまたは ID を取得しようとしています。これは、私がここで見つけたものに基づいて作成したものです...

HTML

<a href="" class="button">Button</a>

Jクエリ

$('.button').click(function () {
          myFuntion();
});

function myFunction (e) {
 e = e || event;
 $.lastClicked = e.target || e.srcElement;

 var lastClickedElement = $.lastClicked;
 console.log(lastClickedElement);

}

この種のことは私が望んでいることですが、クラスだけを取得できるように変更する方法がわかりません。

私もこのソリューションを使用してみましたが、自分のコードで動作させることができませんでした。

$('.button').click(function () {
  myFuntion();
});


function myFunction(){
    var lastID;
    lastID = $(this).attr("id");

    console.log(lastID);
}

これを行うと、コンソール ログが未定義として返されます。私はおそらく明らかな何かを見逃しています。どんな助けでも大歓迎です。ありがとう。

4

5 に答える 5

1

いくつかの方法が思い浮かびます:

$(".button").click(myFunction);

上記で動作するはずmyFunctionです。


$(".button").click(function () { myFunction($(this)); });
function myFunction($elem) {
   var lastID;
   lastID = $elem.attr('id');
   $.data('lastID', lastID);
}
于 2012-08-29T15:50:47.613 に答える
1

クリックした要素をパラメーターとして関数に渡すことができます。

$('.button').click(function () {
    myFunction(this);
});

function myFunction(element) {
    console.log(element);
    console.log(element.id);
    console.log($(element).attr("class"));
}

UPDATEはjsfiddleを追加しました

于 2012-08-29T15:50:52.573 に答える
1

要素のクラス名を取得するには、データを取得する要素への正確な参照があると仮定します。

var lastClickedElement = $.lastClicked,
    lastClickedElementClassNames = lastClickedElement.className;

ただし、これは要素のすべてのクラスの完全なリストを返します。

于 2012-08-29T15:51:07.550 に答える
1
$('.button').click(function () {
  myFuntion(this);
});


function myFunction(ele){
    var lastID;
    lastID = $(ele).attr("id");

    console.log(lastID);
}
于 2012-08-29T15:51:12.340 に答える
0

最初に可能なすべてのDOM要素を選択します

 var lastSelectedElement = null

    $(document).ready(function(){
       $("*").live("click",function(){
       lastSelectedElement = $(this);
       myFunction($(this));
      });
    });

   function myFunction(element) {
console.log(element);
console.log(element.id);
console.log($(element).attr("class"));
 }

lastSelectedElementjQueryでIDまたはクラスを取得して遊ぶよりも.attr("ID OR CLASS");

于 2012-08-29T16:37:23.123 に答える