3

我正在尝试获取最后一次单击元素的类或 id。这是我根据我在这里找到的...

HTML

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

查询

$('.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"));
}

更新添加了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"));
 }

比你可以lastSelectedElement用 jQuery 抓取它的 ID 或 Class来玩.attr("ID OR CLASS");

于 2012-08-29T16:37:23.123 回答