問題タブ [documentfragment]

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 投票する
3 に答える
4148 参照

java - Java標準のDOMAPIを使用してDocumentFragmentを解析する方法

これは、Javaで整形式のXMLドキュメントを解析する方法です。

テキストの例は次のとおりです。

DocumentFragmentを解析するにはどうすればよいですか?たとえば、これは次のとおりです。

注:org.w3c.dom可能であれば、他のライブラリ/テクノロジーは使用しません。

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

javascript - DOMに挿入せずにテキスト文字列に対してjQueryセレクター/find()を使用するにはどうすればよいですか?

jQueryを使用してスパンを選択しようとしているテキスト文字列があります。domに要素を追加せずにスパンを取得したいのですが、可能であれば?

jqueryのドキュメントを読んだ後、文字列をjqueryセレクタータグでラップし、.find()を使用して必要な要素を見つけることでフラグメントを作成できると思いました。

これに似たコードがありますが、最後の行の外観から、スパンが選択されていないことは明らかです。どんな助けでも大歓迎です:

ありがとう。

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

javascript - documentfragment と replacechild を組み合わせてリフローを最小限に抑える

キャンバスを使用せずに JavaScript ゲームを作成しています。速度を上げるために、画面をサイクルごとに 1 回だけリフローさせたいと考えています。documentFragment が名前付き要素を置き換える方法はありますか?

編集: javascript ガイドは、replaceChild() を documentFragment で使用できることを示唆していますが、例は複数のリフローを暗示しているようです:

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

javascript - IE/FF 全体で CSS ルールをドキュメント フラグメントに追加するにはどうすればよいですか?

ドキュメントフラグメントを作成してスタイルを設定しようとしていますが、かなりの困難があります。皮肉なことに、IE は私の問題ではありません。

私はこれを持っています:

...これは、IE7/8/9 では「赤」を警告しますが、FF3.0/4/10 では「rgb(0,0,0)」を警告します。そして、はい、どのスタイルが適用されているかを知る必要があるため、FF の getComputedStyle から読み取る必要があります (または、信頼できる限り、他の方法を使用します)。

私は何を間違っていますか?これは可能ですか?(私はそう思う/そう願っています...)

IEには存在するがFFには存在しない「newDom.styleSheets」など、多くのことを試しましたが、役に立ちませんでした。

助けてください - ありがとう!:D

0 投票する
11 に答える
36036 参照

javascript - DocumentFragment への任意の HTML の挿入

ドキュメント フラグメントへの追加innerHTMLが最近議論されていることは知っていますが、DOM 標準に含まれることを期待しています。しかし、その間に使用することになっている回避策は何ですか?

つまり、取る

簡単なワンライナーで、 の とdiv内部spanの両方が必要です。frag

ループなしのボーナスポイント。jQueryは許可されていますが、私はすでに試しました$(html).appendTo(frag); fragその後も空です。

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

jquery - 空のdivを作成したばかりのJQueryには、親としてドキュメントフラグメントがありません

を使用してjQueryで新しいhtmlノードを作成する場合

アタッチするまで、DOMの一部にはなりません。ただし、ノードに親がないという意味ではありません。

ノードが空で作成されていない場合、例:

親を確認できます。

そして、あなたが得るのを見てください

結果として。DocumentFragmentは似たようなオブジェクトdocumentですが、DOMツリーの一部ではありません。

奇妙なことが今やってくる。空のノードを作成すると、

内容を確認してみてください

驚くべきことにあなたは

この動作を理解できず、jQueryのドキュメントで何も見つかりませんでした。空のdivでjavascriptMVCmxuiモーダルが失敗した理由をデバッグしようとしたときに見つかりました。

ChromiumとOperaの両方でこの動作をテストしたので、ブラウザ関連の問題ではないようです。

誰かがこれについて説明がありますか?

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

javascript - DocumentFragment で許可されていない特定の要素?

DocumentFragment と querySelector を使用して DocumentFragments を作成および変更したいと考えています。HTML 文字列からフラグメントを作成するために、DocumentFragment に任意の HTML を挿入することからいくつかのコードを使用しています。

そしてそれは動作します:

<html>ただし、またはのような要素を使用する<body>と、失敗します。

動作は、Chrome と Firefox の両方で同じです。

0 投票する
0 に答える
1381 参照

javascript - 高度なテンプレートの HTML (および CSS) オフスクリーンのレンダリング

内部アプリ用の Javascript ベースのクライアント側テンプレート エンジンを構築しています。サーバーから HTML/CSS ベースのテンプレートを読み込み、それらを HTML ベースのコンテンツ (P、EM など) と結合します。

テンプレートには基本的に、コンテンツが収まるはずの固定サイズの領域 (CSS で定義) があります。コンテンツがそれらの領域/ボックスに収まらない場合、残りは別のそのようなコンテンツ ボックスに移動します。

この画像が私の言いたいことを理解しやすくすることを願っています: テンプレートのモックアップ .

全体が 1 つのテンプレートであり、コンテンツが青いボックスに収まるようになっていると想像してください。明らかに最初の青いボックスには収まらないため、3 つの緑のブロックが 2 番目のボックスに追加されます。

青いボックスのサイズ、位置 (および数) は、テンプレートによって異なる場合があることに注意してください。同じことがコンテンツにも当てはまります (小さなテキストでも大きなテキストでもかまいません。純粋なテキストでも、H1、P、EM などの書式設定でもかまいません。したがって、すべてが可変です。テキストのサイズは、テンプレートによっても定義されます。 CSS (固定値ではない)。

とにかく、いくつかの実験の後、私はそれを機能させましたが、現在、全体を最適化して高速化しようとしています。アプリケーションの開始時に数十のテンプレートを前処理しているため、初期化に時間がかかります。

HTML/CSS ベースのテンプレートをレンダリングしてコンテンツと組み合わせる (コンテンツ ボックス、フォントなどのサイズを把握する) には、テンプレートにレイアウトを設定し、DOM に挿入する必要があります。もちろん、これには非常にコストがかかります。そのため、これをオフスクリーンで行う方法があるかどうか疑問に思っていました。それらをブラウザにレンダリングせずに?

documentFragments を見ていて、画面外で DOM を組み立てている間、レイアウトがありません。つまり、documentFragment を作成する場合、そこに DIV を挿入し、CSS を介して div の幅を 150 ピクセルにする必要があるとします。 DOM にフラグメント化します。

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

xslt - xpath の戻り値の型を選択するには?

私はxpathクエリを持っています:

このクエリは、一致するノードのシーケンスをシーケンス自体として返すのではなく、単一の #documentfragment の子として返します。このクエリを満たす要素がない場合でも、$fbids は空の #documentfragment に設定されます。

これは私のコードを台無しにしますが、次のループは、一致する要素ごとに 1 回反復するのではなく、#documentfragment に対して 1 回実行されます。それだけです。これを強制的に素敵な element()* 型に戻すにはどうすればよいですか?

ありがとう!

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

javascript - forEach は配列の最後の要素のみを実行します

これは私のコードです:

そして、ここでその関数のパラメーター:

このコードは、のすべてのオブジェクトを含むドキュメント フラグメントを返す必要がありvar Fragmentます。ご覧のとおり、JSON は atagNameおよびchildNode要素に基づいています。各オブジェクトは one に依存するtagNameため、関数は同じ名前の新しい要素を 1 つ返します。

しかし、ここで何か問題が発生します。関数は次の の 2 番目のノードのみを返しますFragment

これが次と等しいこと:

しかし、FIRST NODE はどうしたのでしょうか。