1. ホーム
  2. javascript

[解決済み] Javascriptでonclickを変更するには?

2022-02-14 02:45:53

質問

変更方法 onclick Javascriptを使用していますか?

https://jsfiddle.net/749rt0m7/1/

このコードを使おうとしたのですが、うまくいきません。どうすればいいのでしょうか?

<span  onclick="test_fn('aaa,bbb')" id="xx">edit</span>
<script>
    document.getElementById('xx').onclick = "test_fn(111,222)";
</script>

解決方法は?

いくつかあるようです。

まず第一に test_fn() は、あなたのjsfiddleの関数ではありません。呼び出されるように定義する必要があります。

次に、onclick 属性を関数ではなく文字列に設定しています。以下のコードで関数に設定する必要があります。

document.getElementById('xx').onclick = function() { test_fn(111,222) };

以下は が動作するjsfiddleです。

アップデイト

質問を誤解していたようです。もし、onclick属性を変更したいのであれば、つまり、HTMLに表示される内容を変更したいのであれば、次のようにします。 setAttribute() . つまり、あなたのコードは...

document.getElementById('xx').setAttribute( "onClick", "test_fn('111,222')" );

以下は jsfiddleを更新しました。

余談ですが nnnnnn のコメントにあるように、これを使うと、関数を通して1つのパラメータを渡すことになります。 111,222 を2つ渡す必要があるようです。もし 111 を最初のパラメータとして、そして 222 を2番目のパラメータとして、関数を呼び出します。 test_fn(111,222) (パラメータを整数値で渡す)または test_fn('111','222') (文字列としてパラメータを渡す)