問題タブ [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.

0 投票する
2 に答える
651 参照

javascript - innerHTML 副作用?

DOM 要素の参照に問題があり、innerHTML の更新と関係があることを突き止めたと思います。

この例では、予想どおり、最初のアラートで 2 つの変数が同じ要素を参照しています。奇妙なのは、親要素 (本文) の innerHTML を更新した後、どちらにも触れていないにもかかわらず、2 つの変数が異なると思われることです。

=== の代わりに == を使用しても、同じ結果が得られます。Firefox 3.5 と IE6 で同じ結果が得られます。2 番目のアラートが false と評価される原因は何ですか?

0 投票する
6 に答える
1373 参照

javascript - ページのコンテンツを取得するためのinnerHTMLの代替手段?

現在、innerHTMLを使用してHTML要素のコンテンツを取得していますが、一部のブラウザでは、ソースにあるものが正確に返されないことがわかりました。

たとえば、FirefoxでinnerHTMLを次の行で使用します。

戻ります:

IEでは、2つの終了する強力なタグを含む元の文字列を返します。ほとんどの場合、Firefoxが誤ったコードをクリーンアップすることは問題ではない(そして利点になるかもしれない)と思います。ただし、私が達成しようとしていることについては、元のHTMLソースに表示されているとおりの正確なコードが必要です。

これは可能ですか?私たちができる別のJavascript関数はありますか?

0 投票する
5 に答える
1490 参照

javascript - innerHTMLの動的同等物?

ユーザーによって変更された可能性のある要素の innerHTML を取得したいと考えています。

たとえば、ラジオ ボタンの状態を知りたいとします。

また

最新のブラウザーでは、innerHTML は、ページが読み込まれたときに元のタグを提供するだけです (ここで詳細に説明されているように)。ラジオ ボタンがユーザーによってチェックされたかどうかは記録されません。

更新された HTML を安全に取得する方法はありますか? Javascript でラジオ ボタン自体の状態を取得する方法があることは知っていますが、完全に更新された HTML が必要です。

ありがとう!

0 投票する
9 に答える
102579 参照

php - DOMNodeのinnerHTMLを取得する方法は?

PHP DOM実装で特定のDOMNodeのinnerHTMLを取得するためにどの関数を使用しますか?誰かが信頼できる解決策を与えることができますか?

もちろん、outerHTMLも同様です。

0 投票する
7 に答える
912 参照

javascript - innerHTML により IE6 が (永久に) ロックアップする

私が取り組んでいるサイトでは、javascript で実装したいくつかのコントロールを使用してアニメーション化できる一連の画像をロードします。ロックアップして回復しない IE6 を除くすべてのブラウザーですべてが正常に動作します。少なくとも15分間はそこに座らせませんでした。

窒息している部分は、特定のdivの内容を変更しようとしている部分です。

問題の前に:

問題の後:

私はもう試した:

  • animation_image 内のすべての要素を文字列として保存し、それを innerHTML に設定します
  • animation_image で空の/プレースホルダー div を作成し、それらを個別に設定する
  • innerHTML の代わりに appendChild を使用する
  • 「animation_image」の下に別のdivを追加し、上記の3つの方法を使用してすべての画像/divをそこに配置します

IE6ではどれも機能しないようです-すべてのメソッドはFF3.0以降、IE7以降、Chrome 2以降などで正常に動作します。innerHTMLの前にjavascriptを終了すると問題なく動作しますが、単一のdiv (animation_image 内) を 2 番目の箇条書きの方法で削除すると、ロックされて回復しません。

私は何かを忘れたと確信していますが、私はATMを完全におかしくしています。前もって感謝します。

更新: これはサンプル XML に沿った JavaScript へのリンクです ( http://pastebin.com/m5b426a67 )

0 投票する
2 に答える
104 参照

javascript - 要素とその親のオブジェクトとテキスト インデックスによるオフセットを見つけるために使用できるコードはありますか?

つまり、次の HTML コードを例にとると、空白は無視されます。

pNode.innerHTML 内に pNode オブジェクトと "span text" の "a" のインデックスがあり、全体として pNode.innerHTML="paragraph-text<span>span text<i>it</i" であるため、ここでは 23 です。 ></span>」の場合、open span タグもカウントする必要があります。

「spanElement and 2」の期待される要素とオフセットを取得できるように、transform(pElement, 23) のように使用できる既存のライブラリはありますか?

事前に感謝します。よろしく、

スティーブ

0 投票する
2 に答える
19620 参照

extjs - dom.innerHTML の代わりに Ext の update() を使用した質問

Ext 要素の dom の innerHTML を直接更新するのではなく、Extjs の update() メソッドを使用するパフォーマンス、信頼性、ベスト プラクティスの方法について質問があります。

次の 2 つのステートメントを検討してください。

スクリプトを作成する必要はありません。ブラウザの癖を考慮に入れてeval()いると確信しています。update()


また、次を使用しているかどうかは誰にもわかりますか?

と同じです

?
ブラウザとプラットフォームの互換性は重要であり、2 つが基本的に同じである場合は、おそらくExt.element.dom.innerHTML完全に捨てるupdate()ことが最善の解決策になるでしょう。

よろしくお願いいたします。

ブライアン

0 投票する
1 に答える
934 参照

javascript - innerHTML を使用して HTML テーブルにセル データを書き込む

以下の最終関数displayLetter(a、b、c、d、e、f、g)をまとめて、変数Test()の配列要素と変数を使用してinnerHTMLのテーブルに書き込むのに問題があります。.length を使用して、必要なセルの数を決定する必要があることはわかっています。W3C はこれまでのところしか理解できません。助けてくれてありがとう!

私のJS:

0 投票する
2 に答える
2839 参照

javascript - JavaScriptを使用したiframeの問題

IFRAME から HTML を取得する方法を知っている人はいますか? 私はいくつかの異なる方法を試しました:

document.getElementById('iframe01').contentDocument.body.innerHTMLdocument.frames['iframe01'].document.body.innerHTMLdocument.getElementById('iframe01').contentWindow.document.body.innerHTML、など

しかし、どれも機能しませんでした。

それらが機能しない理由は、iframe のコンテンツに body タグがないためだと思います (XML を読み込んでいます)。iframe のすべてのコンテンツを取得する他の方法はありますか? 私もjQueryにオープンです。

これ:

document.getElementById('iframe01').contentWindow.document.body.innerHTML

IEでは正常に動作しますが、これは:

document.getElementById('iframe01').contentDocument.body.innerHTML

FFには使えません。

0 投票する
2 に答える
271 参照

javascript - 文字列をJSONからDOM構造に変換する方法はありますか?

問題は:

次の構造(PHPで生成)をJSON経由で文字列として送信します。

サイトに記事のリストがあり、既存の記事を受け取った記事に置き換える必要があります。jQueryを使用して、次のようにします。

basket.shift()は上記の文字列形式で受け取った記事であり$victim、既存の記事です。


さて、通常私はします

優れたブラウザ(gecko、webkit)で動作しますが、jQueryには.innerHTMLHTML5要素での使用に関する既知のバグがあります。これについてはここに記載されています。.replaceWith最終的にはそのメソッドを内部的に使用します。


解決策は、ネイティブのJavascriptとメソッドを使用することです.innerHTML。このようなものが機能するはずです:

そして、それはそうですが、良いブラウザでのみです。varの.get(0)アプローチでは問題があります。$fresh

jsコードでローカルに作成されたノードの挿入をシミュレートしました。これはIEで機能します。


それで、文字列をDOMサブツリーに変換する他の方法はありますか?または、replaceWithの問題を解決する他の方法はありますか?

注:私はJavaScriptの第一人者/忍者ではありません:)


さて、もう少し読んだ後、私はなぜが.insertBefore機能しないのかを見つけたと思います。

jQuery APIが述べているように(http://api.jquery.com/jQuery/#creating-new-elements)、を文字列として渡すと、その複雑さのために<article>DOM要素も経由で作成されます。.innerHTML

$()代わりにネイティブのcreateElementを強制的に使用する方法はありますか?パフォーマンスの面で問題があることはわかっていますが、少なくともIEは機能します。