JavaScript获取onclick、onchange等事件的值
今天⼩菜处理下拉菜单级联问题时,想获取HTML标签中某个事件的内容,也就是值,⽐如从<select id="city" onchange="javascript:test();"> </select>中获取javascript:test();。
⼩菜想通过事件中的信息,确定下⼀级的菜单,但是这个貌似很简单的问题,却让⼩菜纠结了⼀番。
稍微懂点JQuery的童鞋,可能会尝试这样获取:
1 $(document).ready(function(){
2var onchangeValue = $("#city").attr("onchange");
3 alert(onchangeValue);
4 });
⼀般情况下,这样的确可以获取到,因为JQuery万能的attr⽅法,可以获取标签中任何的”属性”,即使是⼀个事件,也可以直接获取内容,这⾥onchange就是事件。
但⼩菜在实际开发环境中,⽤这个⽅法怎么也获取不到,得到的均是undefined。
在纠结之际,发现了另外⼀种⽤纯JavaScript实现获取的⽅法。
具体代码如下:
1 $(document).ready(function(){
2var onchangeValue = ElementById("city").getAttributeNode("onchange").nodeValue;
3 alert(onchangeValue);
jquery的attr属性4 });
简单说⼀下,这⾥主要是⽤到了getAttributeNode()这个⽅法,它获取的是属性节点,忽略属性和事件的差别,类似于对XML的处理,然后再⽤nodeValue获得属性节点的节点值。
如果使⽤getAttribute()⽅法,由于onchange是⼀个事件,因此获取的是⼀个函数对象,⽆法当成字符串处理。
希望这篇⽂章能够帮助需要的童鞋。。。。。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论