我想在click
事件檢查活動對象的特定屬性jQuery方法使用上event.target
main.js:47 Uncaught TypeError: e.target.attr is not a function
是不是event.target
一jQuery對象呢?
我想在click
事件檢查活動對象的特定屬性jQuery方法使用上event.target
main.js:47 Uncaught TypeError: e.target.attr is not a function
是不是event.target
一jQuery對象呢?
e.target
默認情況下不是jQuery對象,它是一個DOM元素。你要投它:
console.log($(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>
最好不要使用JavaScript和jQuery代碼混合在一起,因爲這是很難處理或理解。
$('div').on('click', function(e) {
//console.log(e.target.className); javascript
console.log($(this).attr('class')); //jquery
});
event.target不等於$(this) –
jQuery _is_ Javascript代碼。 –
是的jQuery是使它更容易使用JavaScript,所以爲什麼我們再次使用JS代碼而不需要 –
也console.log($(this).attr('class')); –
@KapitulaAlexey不,'event.target'可以不同於'this'。 –