純粋なJavaScriptはonclick、onchangeなどのイベントの値を取得することを実現します
983 ワード
今日、ドロップダウン・メニューのカスケード問題を処理するときに、javascript:test()を取得するなど、HTMLラベルのイベントの内容、つまり値を取得したいと思っています.
おかずは事件中の情報を通じて、次のレベルのメニューを特定しようとしたが、これは簡単そうな問題で、おかずを悩ませた.
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はイベントであるため、関数オブジェクトとして取得され、文字列として処理できません.
この文章が必要な子供靴を助けることができることを望みます...