• JavaScript获取onclick、onchange等事件的值


             今天小菜处理下拉菜单级联问题时,想获取HTML标签中某个事件的内容,也就是值,比如从<select id="city" onchange="javascript:test();"></select>中获取javascript:test();。

    小菜想通过事件中的信息,确定下一级的菜单,但是这个貌似很简单的问题,却让小菜纠结了一番。

             稍微懂点JQuery的童鞋,可能会尝试这样获取:

    1 $(document).ready(function(){
    2     var onchangeValue = $("#city").attr("onchange");
    3     alert(onchangeValue);
    4 });

             一般情况下,这样的确可以获取到,因为JQuery万能的attr方法,可以获取标签中任何的”属性”,即使是一个事件,也可以直接获取内容,这里onchange就是事件。

             但小菜在实际开发环境中,用这个方法怎么也获取不到,得到的均是undefined。

             在纠结之际,发现了另外一种用纯JavaScript实现获取的方法。

             具体代码如下:

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

             简单说一下,这里主要是用到了getAttributeNode()这个方法,它获取的是属性节点,忽略属性和事件的差别,类似于对XML的处理,然后再用nodeValue获得属性节点的节点值。

             如果使用getAttribute()方法,由于onchange是一个事件,因此获取的是一个函数对象,无法当成字符串处理。

             希望这篇文章能够帮助需要的童鞋。。。。。

  • 相关阅读:
    PHP 获取图片的类型
    Shell 一次性写入多行文本
    LUA笔记
    ubuntu apt-get 出现NO_PUBKEY的解决方案
    Angular2 使用总结
    java多线程体系
    Spring ConversionFailedException: Failed to convert from type java.util.ArrayList<?> to type java.util.List<org.springframework.core.io.Resource>
    Tomcat 插件启动 Web程序
    保存图片
    Ubuntu FTP配置与安装
  • 原文地址:https://www.cnblogs.com/iyangyuan/p/3203156.html
Copyright © 2020-2023  润新知