1. ホーム
  2. javascript

純粋なJavaScriptを使ったDOM要素の値の取得

2023-07-13 22:26:22

質問

このような 違い はありますか?

解決策1

function doSomething(id, value) {
  console.log(value);
  //...
}
<input id="theId" value="test" onclick="doSomething(this.id, this.value)" />

...そして、解決策2。

function doSomething(id) {
  var value = document.getElementById(id).value;
  console.log(value);
  //...
}
<input id="theId" value="test" onclick="doSomething(this.id)" />

どのように解決するのですか?

更新しました。 質問が編集されました。どちらの解答も等価になりました。

元の答え

はい、そうです。 は、最も注目すべき点です! 2番目はうまくいかないと思います(そして が動作するとしても、あまりポータブルではありません。 ). 最初のものは問題ないでしょう。

// HTML:
<input id="theId" value="test" onclick="doSomething(this)" />

// JavaScript:
function(elem){
    var value = elem.value;
    var id    = elem.id;
    ...
}

これもうまくいくはずです。