問題タブ [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 投票する
1 に答える
1624 参照

javascript - innerHTML W3C 相当

数年前に asp/vbscript (古い ASP) で作成された cms で作業しており、dot net cms (間もなくリリースされるはずです) をリリースするまでは、これに固執していますが、現時点ではもう少し w3c にしようとしています。準拠 ... 現在、CMS は IE のみです ... ページ エディターで

プレビュー状態とhtmlモードを前後に切り替えることができ、エディターはinnerHTMLを使用してモードを切り替えますが、そのinnerhtmlはすべてのタグを大文字にし、すべての<LI>...</LI>タグをそのようにします<LI>...

オプションだったので終了タグはありません...正規表現を使用してすべてのhtmlタグと属性キーを取得し、それらを小文字に交換できますが、もっと簡単な方法を誰かが知っているかどうか疑問に思っていました...残念ながら厳格モードのdoctypeを追加してみましたエディターのコードは非常に古いため、エディター全体がバラバラになります...

新しい cms をすぐにリリースできることを願っていますが、すべてのサイトを新しい cms に移行するまでにはしばらく時間がかかるので、それまでは古いコードを改善しようとしています。

コードをより w3c Compliant AKA にする innerHtml に相当するものはあります<li></li>か? タイ

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

jquery - Firefox の jQuery html() (.innerHTML を使用) は DOM の変更を無視する

以前にこの問題に遭遇したことがないことに本当に驚いていますが、要素で jQueries .html() 関数を呼び出すと、DOM の変更が無視されるようです。つまり、元のソースの HTML が返されます。IEはこれを行いません。jQueries .html() は、内部で innerHTML プロパティを使用するだけです。

これは起こることを意図していますか?私は Firefox 3.5.2 を使用しています。以下にサンプルを示します。テキスト ボックスの値を何に変更しても、"container" 要素の innerHTML は HTML マークアップで定義された値のみを返します。このサンプルでは、​​簡単にするためだけに jQuery を使用していません (jQuery を使用しても結果は同じです)。

コンテナーの html を現在の状態で取得できる場所、つまり DOM へのスクリプト化された変更を含む回避策を持っている人はいますか?

0 投票する
4 に答える
2937 参照

javascript - jQuery を使用してイベント バーストごとに関数を 1 回実行する

jQuery を使用して DOMSubtreeModified イベントをリッスンし、関数を実行しています。私が必要としているのは、イベント バーストごとに 1 回だけ関数を実行する方法です。したがって、この場合、イベントは 1 秒後にのみ実行され、3 秒後に再び実行されます。これを行う最善の方法は何ですか?

jQuery

HTML


更新
setTimeout 関数は、私の問題をエミュレートするためだけに存在します。setTimeout コードを変更せずに解決策が必要です。私が抱えている問題は、DOMSubtreeModified イベントのバーストを取得することであり、バーストごとに 1 つだけ取得する必要があります。

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

javascript - innerHTMLを使用してiframeをロードする際の問題はありますか?

私のアプリ(開発中)は、Safari 4.0.3とJavaScriptを使用して、フロントエンドをユーザーに提示します。バックエンドはPHPとSQLiteです。これはOSX10.5.8の下にあります。

アプリは、ユーザーに提示するHTMLのチャンクを時々受信します。各チャンクは受信した電子メールの本文であるため、受信したHTMLの品質を制御することはできません。私がやっていることは、innerHTMLを使用してチャンクをiFrameに押し込み、Safariにレンダリングさせます。

それを行うために私はこれを行います:

myvarには、受信したHTMLが含まれています。現在、ほとんどの場合、これは希望どおりに機能し、HTMLは期待どおりにレンダリングされます。例外は、チャンクのタグが次のようになっている場合のようです。

2800文字以上の場合も同様です。その効果は、上記のJavaScriptステートメントが実行されていないかのようです。[開発]メニューのSafariのエラーコンソールを使用してiFrameを調べていることがわかります。SQLiteバックエンドデータベースからHTMLを抽出し、それを.htmlファイルとして保存すると、Safariは問題なくそれをレンダリングします。

なぜこれが起こっているのか、innerHTMLのそのような使用、または同じことについての議論へのポインタについてのコメントをいただければ幸いです。

0 投票する
3 に答える
4823 参照

jquery - jQuery の .html 関数のより高速な代替手段は?

jquery .html(variable) 関数に代わるものがあるかどうか疑問に思っていましたか? html を DOM に挿入している間、かなり遅いようで、フリーズします。

innerHtml を使用してみましたが、これも非常に高速に機能します。しかし、何らかの理由で、挿入されたコードに jquery または MS ajax がある場合、これらのスクリプトは FF でのみ機能します。

約 2000 行のコードを挿入しようとしています。

0 投票する
3 に答える
1542 参照

javascript - なぜinnerHTMLがw3c仕様に追加されていないのですか?

どの仕様にも含まれていない特別な理由はありますか?

すべてのブラウザでサポートされているようです(ただし、すべてのブラウザで正しく機能するわけではありません... Internet Explorerのおかげで、innerXHTMLなどのライブラリを使用して正しく機能させる必要があるためです。

innerHTMLは、今後のバージョンのブラウザーから消える危険がありますか?そうでなければ、彼らはすでにそれを追加するべきではありませんか?

私はこのコミュニティウィキにマークを付けています。これについては、担当者を殴打するつもりです...しかし、なぜだろうと思っただけです...

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

.net - Javascriptを使用したinnerHTMLの問題

さて、基本的な問題はdiv要素のinnerHTMLを設定することです。私の文字列にあるすべてのhtmlマークアップは、Firefoxを除くすべての主要なブラウザーで削除されます(表示されません)。キャッチのために、これはページが最初にロードされたときに発生せず、部分的なポストバックでのみ発生します(Firefoxでない限り、常に機能します)。

スクリプト(実際にはScriptManagerを介してコードビハインドから作成および追加されている)を実行して、いくつかのhtml要素(イベントハンドラーを含む)を既存のhtml要素に追加しようとしています。既存の要素のhtmlを削除したり、テキストを設定したりできるため、問題が発生した場合でも、スクリプトが常に実行されていることはわかっています。テキストとマークアップを含めることもできますが、テキストがマークアップ内にない限り、テキストがレンダリングされる間、マークアップはレンダリングされません。それで:

someElement.innerHTML = "Blahblahblah"-動作します

someElement.innerHTML = " <br/><br/>Blah blah blah<br/><br/>"

Blah blah blahが表示されますが、途切れることはありません

someElement.innerHTML = " <p>This will disappear</p><div>So will this</div>"

そのテキストはすべて、マークアップとともに消えます。ああ、私はこれを「標準的な」方法、つまりdocument.createElementなどで行うことを検討しましたが、まったく同じ問題がありました。

他に何か知りたい/知りたい場合は、質問してください。

編集:私が主要なブラウザと言うとき、具体的には、Safari 4.0.3、Chrome 3.0.195.27、およびIE8.0.6を意味します

完全なJavaScript(この関数に関連)。フォーマットエラーがある場合、これは実際にはC#の文字列であるため、わかりやすくするために削除しようとしたファンキーなエスケープナンセンスがたくさんありました。

周囲のhtmlは、YouTubeフィードから取得され、.netリピーターコントロールによって生成されることに注意してください。

0 投票する
4 に答える
9439 参照

javascript - すでに内部にあるものをクリアせずにコンテンツをinnerHTMLに挿入します

内部にあるものをすべてクリアせずに、最新の投稿をdivに挿入する投稿ボタンを作成しようとしています。私の現在のコードは新しい仕切りを挿入しますが、その中のすべてをクリアするので、最後の投稿だけになります。

誰かがそれを修正する方法を知っていますか?

ありがとう

コードは次のとおりです。

0 投票する
3 に答える
6921 参照

c# - 内部htmlc#でカスタムコントロールを作成する

通常の.netdatagridやajaxタブ付きコントロールなどの内部htmlを受け入れるカスタムコントロールを作成するにはどうすればよいですか...次のようになります。

内部html、Tabオブジェクト、Tabのリストを使用せずに作成し、次を使用する方法を知っています。

コントロールで...しかし、私はそこからどこに行くべきかわからない、何かヒントはありますか?

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

javascript - アンカーをその innerHTML に置き換えます

リンクをその innerHTML に置き換えたいのですが、どうすればよいですか?

例:

なる必要があります

ノードをそのinnerHTMLに置き換えようとしましたが、ノード自体のテキストを取得できません..

正規表現を使用する必要があると思いますが、方法がわかりません。

編集: 迅速な回答をありがとうございました! 私はまだそれを正しく理解できないようです。さらに多くのことが起こっているようです。

プロトタイプjsも使用しています。

リンクを含む可能性のあるテキストを取得しました。テキストにリンクが含まれている場合は、そのリンクを innerHTML に置き換える必要があります。次のようになります。

テキストにリンクが含まれているかどうかを確認するために hasChildNodes() を使用しようとしましたが、テキストにリンクやその他の要素が含まれていない場合でも、常に yes が返されます。そこで、テキストもノードとみなされるのではないかと思い、childElements[1] を試してみました。それは undefined を返します。したがって、リンクはテキストノードのノードである可能性があります。何もない!私はこのデータをスクレイピングし、JSON を評価しているので、そこから奇妙さが生じる可能性があります。ただし、応答の残りの部分で DOM をウォークすることはうまくいきます。

しかし、私が警告するとき

実際のhrefはアラートを受け取ります! (localhost//link/Go_%28To%29)

$('text'.childElements()[0].up() は、実際の td 親要素に到達します。

だから私は使用しています

テキストにリンクが含まれているかどうかを確認します。

これは少し話題から外れていると思いますが、実際には a 要素を正しく取得できません。任意のヒント?多分正規表現が最良の選択肢ですか?