这里主要是用到了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是一个事件因此获取的是一个函数对象无法当成字符串处理
希望这篇文章能够帮助需要的童鞋