JavaScript获取onclick、onchange等事件值的代码

本文介绍了一种使用纯JavaScript获取HTML标签中事件属性值的方法,如从<select>标签的onchange属性中获取javascript代码。通过getAttributeNode()方法结合nodeValue属性实现了这一目的。

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

  这里主要是用到了getAttributeNode()这个方法,它获取的是属性节点,忽略属性和事件的差别,具体示例如下,感兴趣的朋友可以参考下哈希望对大家有所帮助

  今天小菜处理下拉菜单级联问题时,想获取HTML标签中某个事件的内容,也就是值,比如从<select id="city" onchange="javascript:test();"></select>中获取javascript:test();。小菜想通过事件中的信息,确定下一级的菜单,但是这个貌似很简单的问题,却让小菜纠结了一番。 
稍微懂点JQuery的童鞋,可能会尝试这样获取:
$(document).ready(function(){
    var onchangeValue = $("#city").attr("onchange");
    alert(onchangeValue);
});

  一般情况下,这样的确可以获取到,因为JQuery万能的attr方法,可以获取标签中任何的”属性”,即使是一个事件,也可以直接获取内容,这里onchange就是事件。 
但小菜在实际开发环境中,用这个方法怎么也获取不到,得到的均是undefined。 
在纠结之际,发现了另外一种用纯JavaScript实现获取的方法。 
具体代码如下: 

$(document).ready(function(){
    var onchangeValue = document.getElementById("city").getAttributeNode("onchange").nodeValue;
    alert(onchangeValue);
});

  简单说一下,这里主要是用到了getAttributeNode()这个方法,它获取的是属性节点,忽略属性和事件的差别,类似于对XML的处理,然后再用nodeValue获得属性节点的节点值。 
如果使用getAttribute()方法,由于onchange是一个事件,因此获取的是一个函数对象,无法当成字符串处理。 

转载于:https://www.cnblogs.com/chaizp/p/4802739.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值