なぜこの場所では onclick イベントがトリガーされないのですか? jqueryで現在クリックされているliのDOMオブジェクトを取得できれば、こんな感じでJSで利用できないでしょうか?
皆さんありがとうございます。以前は jquery を使っていましたが、今改めて js を見ると多くの問題を発見しました。今後はこのような愚かな間違いはしません、とても感銘を受けました^_^。
クリックしてこのイベントをトリガーできますか? セグメントフォルトを使用できます。
しかし、コードには少し問題があります。getElementsByTagName は配列のようなオブジェクトを返します
それをトラバースして、onclick 値を各要素に割り当てる必要があります
がthisの理由ではありません。
this
onclick 是 DOM 的事件。但是此时的 lis これは dom ではありませんが、DOM のコレクションです。
onclick
lis
jQuery は、クリック関数が呼び出されるときに jQuery オブジェクトを返すため、これを処理できます。jQuery は暗黙的にループを使用します。 $("ul li")
$("ul li")
リーリー
lis = document.getElementsByTagName("li") は配列を取得します。 イベントをどのようにバインドする必要がありますか?
クリック イベントを書き込むのに .onclick() を使用しないでください。addEventListener('click', function(){console.log(this)}); を使用してクリック イベントを追加し、それがトリガーされるかどうかを確認してください。これは lis を取得したためです。この理由で onclick 配列が機能しないのでしょうか?
2 番目のコードは間違って書かれています。lis は dom オブジェクトではなく、配列なので、onclick の設定は役に立ちませんこれに変更してください
getElementsByClassName这个方法吧,把getElementsByTagNameを使用して直接カプセル化すると、dom操作として使用できます
getElementsByClassName
getElementsByTagName
上の図に示すように、あなたの lis はオブジェクトの配列として出力されます。あなたの考えによれば、onclick を各 li オブジェクトにバインドするために lis をトラバースする必要があります。
クリックしてこのイベントをトリガーできますか? セグメントフォルトを使用できます。
しかし、コードには少し問題があります。getElementsByTagName は配列のようなオブジェクトを返します
それをトラバースして、onclick 値を各要素に割り当てる必要があります
が
this
の理由ではありません。onclick
是 DOM 的事件。但是此时的lis
これは dom ではありませんが、DOM のコレクションです。jQuery は、クリック関数が呼び出されるときに jQuery オブジェクトを返すため、これを処理できます。jQuery は暗黙的にループを使用します。
関数はそれを実数の配列に変換しますが。$("ul li")
リーリー
lis = document.getElementsByTagName("li") は配列を取得します。
イベントをどのようにバインドする必要がありますか?
クリック イベントを書き込むのに .onclick() を使用しないでください。addEventListener('click', function(){console.log(this)}); を使用してクリック イベントを追加し、それがトリガーされるかどうかを確認してください。これは lis を取得したためです。この理由で onclick 配列が機能しないのでしょうか?
2 番目のコードは間違って書かれています。lis は dom オブジェクトではなく、配列なので、onclick の設定は役に立ちません
リーリーこれに変更してください
リーリーgetElementsByClassName
这个方法吧,把getElementsByTagName
を使用して直接カプセル化すると、dom操作として使用できます上の図に示すように、あなたの lis はオブジェクトの配列として出力されます。あなたの考えによれば、onclick を各 li オブジェクトにバインドするために lis をトラバースする必要があります。