違い: 1. html() は tbody や tr などの読み取り専用タグを設定できますが、innerHTML は以前のバージョンの IE では機能せず、割り当てることができません。値が割り当てられている場合、スクリプトはレポートを実行します。エラー; 2. html()で設定したスクリプト スクリプトは実行されますが、innerHTMLで設定したスクリプトは実行されません。
推奨チュートリアル: jquery ビデオ チュートリアル
InnerHtml() と html() の違い
##1. html() は tbody や tr などの読み取り専用タグを設定できますが、innerHTML は以前のバージョンの IE
では使用できません。 HTML ドキュメントでは、.html() メソッドを使用して任意の要素のコンテンツを取得できます。セレクターが複数の要素に一致する場合、最初に一致した要素の HTML コンテンツのみが取得されます。 innerHTML は、Html タグを含む、オブジェクトの開始位置から終了位置までのコンテンツ全体です。当初、innerHTML と jquery の HTML は実際にはまったく同じであると考えていました。問題が発生するまでは、jquery は不要でした。例を見てみましょう:var tbody=document.createElement('tbody'); tbody.innerHTML='<tr><td>IE下tbody的innerHTML是只读的</td></tr>'; //在IE下报错,目标对象错误
$(tbody).html('<tr><td>IE下tbody的innerHTML是只读的</td></tr>');
2. html()で設定したスクリプトは実行されますが、innerHTMLで設定したスクリプトは実行されません。
jQuery はパラメータ文字列内の script タグを強制的に有効にします (作成と置換によって) が、.innerHTML の割り当ては有効になりません。$('#app').html('<script>alert(1)</script>') // 会弹出警告框 $('#app')[0].innerHTML = '<script>alert(1)</script>' // 不会弹出警告框 // ↑使用[0]将jquery对象转为dom对象,只有dom对象才有innerHTML方法,jQuery没有。
html() 関数の利点
innerHTML 属性の欠点を見れば、利点がわかるでしょう。 jQuery の html() 関数の利点は、すべてのブラウザに対応していることです HTML5 タグがサポートされていない問題はありません、href 属性と src 属性が変換される問題はありません、一部のタグがサポートされていない問題はありませんHTML 文字列を設定できません 一言で言えば、少なくとも機能に関しては、基本的にすべてが安心です。html() 関数の欠点
jQuery の html() 関数は限りなく完璧であるように見えますが、実際にはそうではありません。その機能は、IE を含むすべてのブラウザと互換性があります。たまたまIEですが、互換性はあるもののパフォーマンスは楽観視できず、html()関数を使って大量のhtml文字列を設定すると大変なことになります。 IE での html() 関数のパフォーマンスはどれくらい低いですか?パソコンの構成は「i5クアッドコア、8Gメモリ、IE9」で、html()関数を使って2000行4列のテーブルを設定してテストしたところ、平均所要時間は27秒でした! IE で html() が非常に遅いのは、具体的な理由は何ですか? ソース コードをざっと読んだところ、try メソッドの使用が主な原因の 1 つであると感じました。興味のある学生は詳しく学ぶことができます。 プログラミング関連の知識について詳しくは、プログラミング入門をご覧ください。 !
以上がjqueryのinnerHTMLとhtml()の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。