問題タブ [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.
javascript - jQuery Ajax 呼び出し - Body タグの最初の子要素を取得する
これは興味深い質問です。皆さんの意見をお聞きしたいと思います。
jQuery ajax 呼び出しは、次のタグを取り除きます。
データを介してそれらにアクセスすることはできません。例えば:
これらの要素内の最初の子要素にもアクセスできません。例えば:
parseHTML (jQuery 1.8+) がこの問題を解決できることをオンラインで読みました。これは問題ありませんが、ユーザーが 1.7.0 以降の jQuery を使用できない場合はどうなるでしょうか?
body タグの周囲またはその内部の追加要素も機能するという多くのソリューションを読みました。余分な HTML を追加するので、このアプローチはあまり良くないと思います。
また、これらの要素に対して正規表現/置換を使用する人も見てきました。これは優れていますが、それでも HTML に同じ影響を与えます。
最後に、フィルター ソリューションについて知っています。正確な要素がわかっている場合はこれで問題ありませんが、わからない場合は別の要素が使用される可能性があります。子でない場合、フィルタはそれを見つけることができません:
興味深い解決策の 1 つはcreateDocumentFragment()でした。詳細については、このページのどこかを参照してください: http://www.smashingmagazine.com/2012/11/05/writing-fast-memory-effective-javascript/。
このタイプのコーディングは、サイトのパフォーマンスを向上させることを目的としています。上記のウェブサイトに素晴らしい例があります。
これに続いて、私はあなたがこれを行うことができると読みました:
ただし、これは機能しませんでした: ajax から返されたデータを body html にフィルターするにはどうすればよいですか?
それからさらに見てみました。
最後に、少し拡張しました。
このアプローチは悪いですか?少しJSが重いので、それが良い解決策かどうかはわかりません。これにより、(データのループのために)実行が遅くなったり、速度が向上したりしますか。
jQueryを更新せずにbodyタグにアクセスする方法はありますか?
みんなの意見が気になります。何も逃さなかったことを願っています。
編集:
Internet Explorer は、フラグメント自体の getElementById を好まないことがわかりました。
以下を使用してこれを回避できます。
これを読んでくれてありがとう。
jquery - DocumentFragment vs $('')
DocumentFragment を作成していますか? を作成するのと同じ$('<div/>')
ですか?
例えば:
対
分離された要素が非常に似ているように見える場合、そのような DocumentFragment を使用する利点についてはわかりません。
javascript - テンプレートタグから複製された要素へのイベントリスナーの追加
<template>
次のタグを使用して、多くの DOM 要素 (それぞれが同じ HTML 構造を持つ) を作成しています。
... そして数行の JavaScript:
複製された要素にいくつかのイベント リスナーを追加したいと考えています。私はインターネットから何も見つけることができず、次のようないくつかのことに疲れました。
...これらのどれも機能しませんでした。私は単に次のようなことをすることができます:
...しかし、うまくいかなかった方法に似た別の簡単な方法があるのではないかと思います。
javascript - ノードをドキュメント フラグメントにブレーク タグとともに追加する
奇妙な状況、オンラインで解決策を見つけることができませんでした。ドキュメントフラグメントに追加しようとしている領域innerHTML
内にいくつかあります...そして、改行タグを含むフォーマットを保持します。contentEditable
私がこれを行うとき:
最後のログが返されます (img、span、img、span)。ループが区切りタグを認識しないのはなぜですか? ドキュメント フラグメントに区切りタグを追加するにはどうすればよいですか?
次のようにフラグメントに何も追加せずにログに記録すると:
「img、br、span、br、img、br、span」と表示されます。コメントを外すとすぐにappendChild
、改行が消えます。どうして??
私の解決策:
css-selectors - + querySelector using :scope pseudo class works with document but not documentFragment
Depending on the content of a <template>
, I want to wrap its contents in a container for easier/consistent traversal. If
Depending on the content of a <template>
, I want to wrap its contents in a container for easier/consistent traversal. If the contents are <style>
and <one-other-element>
at the top level, I'll leave it be. Otherwise, whatever's in there will get wrapped in a <div>
.
Originally I made my code something like this:
But, I noticed it wasn't working -- that is, hasCtnr
was always false
. So, I made a reduced test case (jsfiddle). As you can see, :scope
works with regular DOM elements. However, it doesn't seem to work with DocumentFragment
s. I know the technology is new/experimental but is this a bug or am I doing something wrong?
If I use jQuery, it works... but my guess is because jQuery is doing something manually.
I only care about Chrome/Electron support, by the way.
Here's the jsfiddle inline:
Suppose we have a query like:
So if we need to export this data into a csv file then using below query we can do:
Depending on the content of a <template>
, I want to wrap its contents in a container for easier/consistent traversal. If
Depending on the content of a <template>
, I want to wrap its contents in a container for easier/consistent traversal. If the contents are <style>
and <one-other-element>
at the top level, I'll leave it be. Otherwise, whatever's in there will get wrapped in a <div>
.
Originally I made my code something like this:
But, I noticed it wasn't working -- that is, hasCtnr
was always false
. So, I made a reduced test case (jsfiddle). As you can see, :scope
works with regular DOM elements. However, it doesn't seem to work with DocumentFragment
s. I know the technology is new/experimental but is this a bug or am I doing something wrong?
If I use jQuery, it works... but my guess is because jQuery is doing something manually.
I only care about Chrome/Electron support, by the way.
Here's the jsfiddle inline:
Suppose we have a query like:
So if we need to export this data into a csv file then using below query we can do:
javascript - Javascript - ドキュメントフラグメントの要素数を取得
次の関数に数値を渡してカウンターを作成しています。
これは以下を返します:
DocumentFragment で多数の要素を取得するのに問題があります。を試してみ$(myobject).length
ましたが、これは 1 を返します。
DocumentFragment の項目数を取得するにはどうすればよいですか?