jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 原生javascript中$(this)的等价物大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想添加和事件监听器到一个按钮,我仍然相对较新的编码完全基于 javascript,所以我不知道什么是本地等价的$this

在我的代码

// the markup

<ul class="menu">
   <li><a href="#" data-something="value">text</a></li>
   <li><a href="#" data-something="value2">text2</a></li>
</ul>

var menu = document.querySELEctor(".menu");
menu.addEventListener("click",function(){
    // console.log $(this).val
    // what I wanted is to get that data-attribute of the clicked item
});

解决方法

在事件处理程序中,这将表示事件处理程序绑定到的元素.您将不会拥有jQuery提供的所有实用程序功能.因此,在您的示例中,您将无法使用this.data(“something”)检索数属性

要检索自定义属性的值,代码必须将事件传递给函数.从示例中的事件或e开始,target属性将包含触发事件的元素,由于事件的传播,该元素可能并不总是事件处理程序绑定到的元素.使用getAttribute方法检索自定义属性的值.另外,不要将自定义属性设置为大写,因为html规范不允许这样做,并且会创建不可访问的属性.

var menu = document.querySELEctor(".menu");
menu.addEventListener("click",function(E){
    alert(e.target.getAttribute("data-something"));
});

JS小提琴:http://jsfiddle.net/pjcvB/

大佬总结

以上是大佬教程为你收集整理的jquery – 原生javascript中$(this)的等价物全部内容,希望文章能够帮你解决jquery – 原生javascript中$(this)的等价物所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。