关于js/jq的点击事件,以及获取 data-type 定义的值

本文详细介绍了在JavaScript中如何使用onclick事件处理函数来获取HTML元素的各种属性,包括ID、class、type和data-*属性,并展示了如何通过jQuery简化这些操作。同时,文章还讨论了在动态生成的DOM上绑定事件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、

目前,个人认为最方便的点击事件便是 onclick() 的调用方法的事件,不仅可以传值,还可以避免一些不必要的麻烦:

页面代码:

<div onclick="thisOnClick(this)" id="测试(ID)" type="测试(type)" data-type="测试(data-type)">
    点击我一下
</div>

js代码:

function thisOnClick(e) {
    console.log("获取到了当前元素的ID:",e.id);//获取定义的id,结果:id="测试(id)"
    console.log("获取到了当前定义的type:",e.getAttribute("type"));//获取type:type定义的值,结果:type="测试(type)"
    console.log("获取到了当前定义的data-type:",e.getAttribute("data-type"));//获取data-type定义的值,结果:data-type="测试(data-type)"
    console.log("获取到了当前定义的data-type:",e.dataset.type);// data-type(html5),结果:data-type="测试(data-type)"
  
  console.log( $(this).attr('data-type') )//输出的结果是 HTML中定义的 :data-type="测试(data-type)"
}

 

二、 

 使用 类 或者使用 id 进行绑定点击事件,常用方式如下:

html代码:

<div class="classStype1 jsClass" id="jsId" data-type="测试(data-type)">
    点击我一下
</div>

jq代码

// 用类
$(".jsClass").click(function (e) {
    console.log(e)
});
// 用ID $("#jsId").click(function (e) { console.log(e) });
//但是在如果html的代码是动态渲染出来的,那么用上面的Dom方法是不行的,会触发不了,因此有个新的方式: $('body').on('click', '.jsClass', function (e) { console.log(e) });

 

3、 当然,除了以上常用的 绑定id和 绑定class之外,还有就是绑定name了

jquery根据name属性查找

$("div[id]")            //选择所有含有id属性的div元素

$("input[name='keleyicom']")  //选择所有的name属性等于'keleyicom'的input元素

$("input[name!='keleyicom']")  // 选择所有的name属性不等于'keleyicom'的input元素

$("input[name^='keleyi']")    //选择所有的name属性以'keleyi'开头的input元素

$("input[name$='keleyi']")    //选择所有的name属性以'keleyi'结尾的input元素

$("input[name*='keleyi']")    //选择所有的name属性包含'keleyi'的input元素

$("input[id][name$='keleyi']") //可以使用多个属性进行联合选择,该选择器是得到所有的含有id属性并且那么属性以keleyi结尾的元素

//例如:
$(":input[name='keleyi']")// 表示查找的是name为keleyi的表单。

 



 

转载于:https://www.cnblogs.com/caitangbutian/p/11489366.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值