問題タブ [innerhtml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - アクセス内容
This javascript snippet just returns an empty string. Is there a way of getting the contents of a noscript node?
p.s. I'm using prototype on this particular project.
javascript - IE7のdivコンテンツで改行が失われる
ソースの改行でdivのinnerTextを分割しようとしています。これは次の場合に正常に機能します。
しかし、これはIE 7では失敗します。これは、改行が明らかに削除されているためです。jQuery 1.3.2は、私も両方を試したので、問題がないようです。
と
divをpreに変更した場合も、上記のいずれも機能しません。
ソースがDOMに解析されると、改行が表示されます。:(これはそうですか?javascriptでそれらを取得する方法はありませんか?
javascript - innerHTML の代替?
編集:うわー。この質問は現在12歳です。
誰かが述べたように、2016 年以降はワンライナーで実行できます: https://stackoverflow.com/a/69322509/80907
オリジナル:
innerHTML を使用せずに HTML のテキストを変更する方法があるかどうか疑問に思っています。
私が尋ねている理由は、それが W3C にちょっと嫌われているからです。私はそれがつまらないことを知っていますが、知りたいのですが、方法はありますか?
編集: 人々は私がここで尋ねていることを誤解しているようです: 表示されているテキストを効果的に変更する方法を見つけたい.
私が持っている場合:
innerHTML を使用すると、次のことができます。
画面上のテキストが変更されます。
テキストを追加するのではなく、既存のテキストを変更したい。
javascript - jQuery の $.load() 関数を使用してフォームをページに挿入できますか?
行の順序によって小計の値が決まるドラッグ アンド ドロップ テーブルがあるページがあります。ただし、単なる加算よりも複雑なため、値を更新するロジックを JavaScript で複製したくありません。
簡単な解決策は、Ajax を使用してページ全体をリロードし、Ajax を介して取得したページからテーブルを置き換えることです。おそらくそれは最も洗練された解決策ではないかもしれませんが、今のところ受け入れられる仕事を成し遂げるための迅速な方法だと思いました.
次のようにjQueryでそれを行うことができます:
<form>
ただし、テーブルには Firefox で表示されないタグも含まれているため (Safari は動作します)、私の「単純な」ソリューションはそれほど単純ではないことが判明しました。
Firebug を使用してページを調べると、フォームが表示されますが、フォームとその要素がグレー表示されます。
Web で検索したところ、FF3 と IEは通話からタグを削除すると言う、かなり混乱した投稿を見つけました。<form>
innerHTML
おそらく別の方法でこれを行うつもりですが、今後の参考のために知りたいのですが、これは事実ですか?
javascript - FirefoxのプレーンtxtファイルでinnerHTMLを使用するには?
ブラウザーでテキスト ファイル (.txt、.js、.css、...) を開くと、素敵な DOM ツリーにラップされます。
たとえば、この .txt ファイルを開いて次のように入力します。
あなたのアドレスバーに。いいですね... すべての主要なブラウザーは、このラップされたテキスト ファイルに対する DOM 操作をサポートしています。これは、強力なブックマークレットやユーザー スクリプトを作成するのに最適です。
ただし、Firefox は要素の innerHTML の割り当てに失敗します。例えば、
Firefox を除くすべてのブラウザで動作します。
この問題を回避する方法はありますか?
(いいえ、innerHTML 文字列を手動で解析したくありません。また、jQuery でも機能しません。)
javascript - JavaScript TextNode の更新
私が持っている場合
の内容を単純に更新することはできt
ますか?
、 、parent
を使用せずに 内のテキストを変更したいと思います。を使用するだけでなく、なぜこれが必要なのですか? 要素のコンテンツを HTML コードで更新したくないため、< や & などの特殊文字が含まれている可能性があり、これらはの DOM メソッドによって解析される必要があります。removeChild
createTextNode
appendChild
innerHTML
text
TextNode
ありがとう、
トム
ajax - AJAX/innerHTMLを介して部分的にUnicodeでエンコードされたデータを表示する
AJAX呼び出しを介してサーバーからデータを取得し、responseDiv.innerHTMLを使用して結果を表示しようとしています。サーバーからのデータは、za \u010DattestのようなUnicode要素で部分的にエンコードされています。応答divのinnerHTMLを設定することにより、これはそのまま表示されます。つまり、Unicodeはブラウザで実際の表現に変換されません。
含まれているページの文字セットはUTF-8に設定されています。Unicode表現をHTMLエンティティに変換するなど、他のほとんどのことを試しましたが、それも機能しないようです。
サーバーからのテキストにもHTMLタグが混在していることにも言及する必要があります。HTMLタグは、本来あるべき姿で尊重されます。たとえば、サーバーからのテキストがとして来る場合<b>Bold this!</b>
、テキストは太字になります。
助けていただければ幸いです。
ヴィクラム
javascript - スクリプト タグを含む文字列を IE の innerHTML に追加できないのはなぜですか
私は次のことをしようとしています (私はプロトタイプ ライブラリを使用しています):
IE では、2 行目にプロパティを設定した後、div.innerHTML プロパティは常に "" と等しくなります。
このスニペットは、外部ベンダー スクリプトで document.write() をオーバーライドする関数内にあるため、script 要素を作成して div 要素に直接追加するのではなく、このようにしています。
どんな助けでも本当にありがたいです、これは私に白髪を与えています!
jquery - MSIE : jQuery の append()/html() が機能せず、getElementById().innerHTML に頼る
これは長いもので、
前提
クライアントの現在のプロジェクトのバグ修正を支援するために呼び出されました。修正が必要だったのは、求人情報ページでした。ジョブのリストがあり、1 つをクリックすると、JavaScript が有効になっている場合、AJAX 呼び出しが行われ、ジョブの詳細が既存の要素 (DIV#emploi_details) に動的に読み込まれます。JS がアクティブ化されていない場合は、ジョブの詳細を含むページを再読み込みするだけです (重要度は低くなります)。
私は彼らのラボ サーバーに飛び乗って、開発 Web サイトで作業しました。
問題
基本的に、IE7 は (最初は) $().load() 経由で読み込まれたコンテンツを表示していませんでした。IE6 は innerHTML で問題なく動作しました。リクエストが送信され、毎回返信が届きます。データを受け取り、それを alert() して見ることはできますが、コンテンツの実際のダンプは機能しません。Safari、Firefox、問題ありません。情報をロードしている DIV#emploi_details 要素には、CSS display:none; があります。スタイルシートに含まれており、コンテンツが読み込まれた後に表示されます (その他のそれほど重要ではない詳細)。
ソリューション
最初は、$().load() が機能しているだけなのかもしれないという印象を受けていたので、ロードされたコンテンツの操作をより細かく制御するために $.get() に変更しました。
これは機能します。IE6 および IE7 を含むすべてのブラウザーで。問題ない。奇妙ですが、それが機能し、完全に証明されているかどうかはわかります。質問しないでください。
プロットツイスト
ここで、たわごとが奇妙になります。私はバグが修正されたと考え、ソリューションをライブ Web サイトに適用しましたが、機能しません。IEはそれが好きではありません。$.ajax と他のすべての種類のものを試した後、困惑して、ライブ Web サイトにこれを使用することになりました。
また、すべてのブラウザーで動作します。必要最小限の JS のようなものは何もないためです。必然的に、この修正は開発 Web サイトでも機能します。
「つづく」
コンテンツの埋め込み機能には、すべてのブラウザー (および明らかにサーバー) でクリックされないものがあります。
全体として、私の質問は WTF の質問です。一方が機能し、もう一方が機能しない理由、または最初に正しく機能しなかった理由さえ理解できません($().load())。フレームワークのバージョンを確認するのが私の最初の本能だったので、明らかに異なる jQuery バージョン (1.2.6) ではありません。
とにかく面白いミステリーIMO。
スタックランドの誰かが神から与えられた答えを持っていることを願っています.
ありがとう