在event.target上使用jQuery方法

时间:2016-08-29 08:47:15

标签: javascript jquery

我想在click事件期间检查事件目标的特定属性:

$('div').on('click', function(e) {  
    console.log(e.target.attr('class'));
});

这会导致浏览器控制台出错:

  

main.js:47未捕获TypeError:e.target.attr不是函数

Isn&#t; t {1}是一个jQuery对象吗?

2 个答案:

答案 0 :(得分:12)

e.target默认情况下不是jQuery对象,它是一个DOM元素。你必须施展它:

$(e.target).attr('class')

工作示例:



$('div').on('click', function(e) {
    console.log($(e.target).attr('class'));
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="test">click me</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

最好不要混用javascript和jquery代码,因为它很难处理或理解。

$('div').on('click', function(e) {  
    //console.log(e.target.className);    javascript
    console.log($(this).attr('class')); //jquery
});