JavaScript獲取onclick、onchange等事件值的代碼
更新時(shí)間:2013年07月22日 18:22:30 作者:
這里主要是用到了getAttributeNode()這個(gè)方法,它獲取的是屬性節(jié)點(diǎn),忽略屬性和事件的差別,具體示例如下,感興趣的朋友可以參考下哈希望對(duì)大家有所幫助
今天小菜處理下拉菜單級(jí)聯(lián)問(wèn)題時(shí),想獲取HTML標(biāo)簽中某個(gè)事件的內(nèi)容,也就是值,比如從<select id="city" onchange="javascript:test();"></select>中獲取javascript:test();。
小菜想通過(guò)事件中的信息,確定下一級(jí)的菜單,但是這個(gè)貌似很簡(jiǎn)單的問(wèn)題,卻讓小菜糾結(jié)了一番。
稍微懂點(diǎn)JQuery的童鞋,可能會(huì)嘗試這樣獲取:
$(document).ready(function(){
var onchangeValue = $("#city").attr("onchange");
alert(onchangeValue);
});
一般情況下,這樣的確可以獲取到,因?yàn)镴Query萬(wàn)能的attr方法,可以獲取標(biāo)簽中任何的”屬性”,即使是一個(gè)事件,也可以直接獲取內(nèi)容,這里onchange就是事件。
但小菜在實(shí)際開(kāi)發(fā)環(huán)境中,用這個(gè)方法怎么也獲取不到,得到的均是undefined。
在糾結(jié)之際,發(fā)現(xiàn)了另外一種用純JavaScript實(shí)現(xiàn)獲取的方法。
具體代碼如下:
$(document).ready(function(){
var onchangeValue = document.getElementById("city").getAttributeNode("onchange").nodeValue;
alert(onchangeValue);
});
簡(jiǎn)單說(shuō)一下,這里主要是用到了getAttributeNode()這個(gè)方法,它獲取的是屬性節(jié)點(diǎn),忽略屬性和事件的差別,類(lèi)似于對(duì)XML的處理,然后再用nodeValue獲得屬性節(jié)點(diǎn)的節(jié)點(diǎn)值。
如果使用getAttribute()方法,由于onchange是一個(gè)事件,因此獲取的是一個(gè)函數(shù)對(duì)象,無(wú)法當(dāng)成字符串處理。
希望這篇文章能夠幫助需要的童鞋。
小菜想通過(guò)事件中的信息,確定下一級(jí)的菜單,但是這個(gè)貌似很簡(jiǎn)單的問(wèn)題,卻讓小菜糾結(jié)了一番。
稍微懂點(diǎn)JQuery的童鞋,可能會(huì)嘗試這樣獲取:
復(fù)制代碼 代碼如下:
$(document).ready(function(){
var onchangeValue = $("#city").attr("onchange");
alert(onchangeValue);
});
一般情況下,這樣的確可以獲取到,因?yàn)镴Query萬(wàn)能的attr方法,可以獲取標(biāo)簽中任何的”屬性”,即使是一個(gè)事件,也可以直接獲取內(nèi)容,這里onchange就是事件。
但小菜在實(shí)際開(kāi)發(fā)環(huán)境中,用這個(gè)方法怎么也獲取不到,得到的均是undefined。
在糾結(jié)之際,發(fā)現(xiàn)了另外一種用純JavaScript實(shí)現(xiàn)獲取的方法。
具體代碼如下:
復(fù)制代碼 代碼如下:
$(document).ready(function(){
var onchangeValue = document.getElementById("city").getAttributeNode("onchange").nodeValue;
alert(onchangeValue);
});
簡(jiǎn)單說(shuō)一下,這里主要是用到了getAttributeNode()這個(gè)方法,它獲取的是屬性節(jié)點(diǎn),忽略屬性和事件的差別,類(lèi)似于對(duì)XML的處理,然后再用nodeValue獲得屬性節(jié)點(diǎn)的節(jié)點(diǎn)值。
如果使用getAttribute()方法,由于onchange是一個(gè)事件,因此獲取的是一個(gè)函數(shù)對(duì)象,無(wú)法當(dāng)成字符串處理。
希望這篇文章能夠幫助需要的童鞋。
您可能感興趣的文章:
- javascript checkbox/radio onchange不能兼容ie8處理辦法
- Radio 單選JS動(dòng)態(tài)添加的選項(xiàng)onchange事件無(wú)效的解決方法
- jsp中select的onchange事件用法實(shí)例
- 純JavaScript實(shí)現(xiàn)獲取onclick、onchange等事件的值
- js 觸發(fā)select onchange事件代碼
- js中的onchange和onpropertychange (onchange無(wú)效的解決方法)
- js觸發(fā)onchange事件的方法說(shuō)明
- javascript開(kāi)發(fā)中使用onpropertychange,oninput事件解決onchange事件的不足
- javascript中的 onchange事件詳解
相關(guān)文章
jQuery中ajax的load()與post()方法實(shí)例詳解
這篇文章主要介紹了jQuery中ajax的load()與post()方法,結(jié)合實(shí)例詳細(xì)分析了jQuery中l(wèi)oad()與post()方法實(shí)現(xiàn)ajax交互的相關(guān)技巧與注意事項(xiàng),需要的朋友可以參考下2016-01-01
JavaScript實(shí)現(xiàn)的彈出遮罩層特效經(jīng)典示例【基于jQuery】
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的彈出遮罩層特效,結(jié)合實(shí)例形式分析了基于jQuery實(shí)現(xiàn)的頁(yè)面元素與屬性動(dòng)態(tài)操作相關(guān)使用技巧,需要的朋友可以參考下2019-07-07
讓jQuery Mobile不顯示討厭loading界面的方法
jQuery Mobile總是顯示討厭的loading界面,下面有個(gè)不錯(cuò)的解決方法,大家可以參考下2014-02-02
JQuery頁(yè)面隨滾動(dòng)條動(dòng)態(tài)加載效果的簡(jiǎn)單實(shí)現(xiàn)(推薦)
下面小編就為大家?guī)?lái)一篇JQuery頁(yè)面隨滾動(dòng)條動(dòng)態(tài)加載效果的簡(jiǎn)單實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
jQuery Easyui Tabs擴(kuò)展根據(jù)自定義屬性打開(kāi)頁(yè)簽
這篇文章主要介紹了jQuery Easyui Tabs擴(kuò)展根據(jù)自定義屬性打開(kāi)頁(yè)簽的實(shí)現(xiàn)代碼,首先增加擴(kuò)展,接著點(diǎn)擊事件open方法實(shí)現(xiàn)easyui tabs擴(kuò)展,非常不錯(cuò),需要的朋友可以參考下2016-08-08
優(yōu)化Jquery,提升網(wǎng)頁(yè)加載速度
本文是對(duì)優(yōu)化Jquery,提升網(wǎng)頁(yè)加載速度方面進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-11-11

