我想在click
事件期间检查事件目标的特定属性:
$('div').on('click', function(e) {
console.log(e.target.attr('class'));
});
这会导致浏览器控制台出错:
main.js:47未捕获TypeError:e.target.attr不是函数
Isn&#t; t {1}是一个jQuery对象吗?
答案 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;
答案 1 :(得分:0)
最好不要混用javascript和jquery代码,因为它很难处理或理解。
$('div').on('click', function(e) {
//console.log(e.target.className); javascript
console.log($(this).attr('class')); //jquery
});