JavaScript获取onclick、onchange等事件值的代码
更新时间:2013年07月22日 18:22:30 作者:
这里主要是用到了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是一个事件,因此获取的是一个函数对象,无法当成字符串处理。
希望这篇文章能够帮助需要的童鞋。
小菜想通过事件中的信息,确定下一级的菜单,但是这个貌似很简单的问题,却让小菜纠结了一番。
稍微懂点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是一个事件,因此获取的是一个函数对象,无法当成字符串处理。
希望这篇文章能够帮助需要的童鞋。
您可能感兴趣的文章:
- javascript checkbox/radio onchange不能兼容ie8处理办法
- Radio 单选JS动态添加的选项onchange事件无效的解决方法
- jsp中select的onchange事件用法实例
- 纯JavaScript实现获取onclick、onchange等事件的值
- js 触发select onchange事件代码
- js中的onchange和onpropertychange (onchange无效的解决方法)
- js触发onchange事件的方法说明
- javascript开发中使用onpropertychange,oninput事件解决onchange事件的不足
- javascript中的 onchange事件详解
相关文章
jQuery中ajax的load()与post()方法实例详解
这篇文章主要介绍了jQuery中ajax的load()与post()方法,结合实例详细分析了jQuery中load()与post()方法实现ajax交互的相关技巧与注意事项,需要的朋友可以参考下2016-01-01JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
这篇文章主要介绍了JavaScript实现的弹出遮罩层特效,结合实例形式分析了基于jQuery实现的页面元素与属性动态操作相关使用技巧,需要的朋友可以参考下2019-07-07让jQuery Mobile不显示讨厌loading界面的方法
jQuery Mobile总是显示讨厌的loading界面,下面有个不错的解决方法,大家可以参考下2014-02-02jQuery Easyui Tabs扩展根据自定义属性打开页签
这篇文章主要介绍了jQuery Easyui Tabs扩展根据自定义属性打开页签的实现代码,首先增加扩展,接着点击事件open方法实现easyui tabs扩展,非常不错,需要的朋友可以参考下2016-08-08
最新评论