問題タブ [sizzle]
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.
jquery - jQueryからsizsetおよびsizcache属性を取り除く方法は?
sizcache属性とsizset属性が何であるかはすでに知っていますが、私の懸念は、Webアプリケーションでのそれらの乗算についてです。説明:jQueryを使用して「自家製」のWYSIWYG htmlエディターを開発し、ユーザーが結果のHTMLを保存するときに、.html()
(またはinnerHTML
)で取得してデータベースに保存します。その後、ユーザーはそれを編集して、データベースに再度保存できます。IE以外のブラウザーを使用する場合、すべてが正常ですが、IEでは、jQueryはそれらの(厄介な)sizset属性とsizcache属性を追加し、最終的にHTMLになります。データベースからHTMLを再ロードして再度保存すると、sizsetとsizcacheが追加されます。
私にとって理想的な解決策は、これらの属性がデータベースに保存されないことです。そもそもjQueryからの解決策がある場合、HTMLサーバー側を解析してそれらを削除したいかどうかはわかりません。誰もがこの問題に直面したことがありますか?
これが私たちが持っているものの例です:
HTML:
Javascript:
変数「ソース」には、sizset属性とsizcache属性が含まれます。
javascript - セレクターの第一級市民としてtextNodesをサポートするjQuery/sizzleに代わるものはありますか?
textNode
jQueryが提供していないDOMを完全にサポートするセレクターが必要であることがわかりました。
jQueryはテキストノードを無視します。これはおそらく、ほとんどのページのタグ間に無関係な空白のノードが大量にあり、さまざまなブラウザで異なる方法で処理できるためです。
テキストノードに関するjQueryの質問に対するほとんどの回答は、.contents()
テキストノードを含む選択されたアイテムのすべての子ノードを返す関数を使用することになります。他のすべてのjQueryAPIはテキストノードを無視します。
多くの場合、簡単に構築できないものは必要ありませんが.contents()
、私はそのような状況にいることに気づきました。
私の使用例は、私が制御できないサードパーティのWebページで、任意のテキストの実行を見つけてラップしたいというものです。(ブラウザ拡張機能またはユーザースクリプトを考えてください。)
これまでのところ、すべてのテキストノードを探してDOMを歩き回ったり、関心のあるすべてのテキストノードを含むラッパー要素を見つけたりして、.contents()
それらを反復処理することができます。
しかし今では、クラス内のクラスなどの特定の可能性に焦点を絞るために、jQuery/sizzleセレクターのフルパワーが必要になることがあります。
セレクターを使用してjQueryを拡張する方法を検討しましたtextNode
が、拡張機能が呼び出される前にテキストノードの多くをフィルターで除外するという一般的なルールがあるため、それは不可能のようです。
したがって、セレクターのようなものを提供するが、セレクター式の構文に任意に混合されたテキストノードを選択できる他のJavaScriptツールを探しています。
これが私がする必要があるかもしれないことの例です:
これは私が個人的にまだ必要としない例ですが、簡単に想像できます:
textNodeの直接の親をアドレス指定(選択)できる場合、それらの反復.contents()
は簡単です。任意の祖先のみを識別でき、この下のすべてのテキストノードが必要な場合は、もちろん要素ノードでは簡単です。 。
javascript - jQuery を使用しないすべてのリンクとフォームを選択する
jQueryを含める必要なく、すべてa
のタグを選択するにはどうすればよいですか?form
私は最終的に次のことをしようとしています:
しかし、よりコンパクトな方法があれば、jQuery (または Sizzle.js でさえも) を含めたくありません。
jquery - [Rails]jQuery: 構文エラー、認識できない式
Rails 3 アプリに問題があります。ビューにアップロードの進行状況バーを表示するスクリプトがあります (アップロード プロセスは機能します)。
しかし、ファイルをアップロードしようとすると、次のエラーが発生しました。
jquery.js ファイルから次のようになります。
私はそれを修正する方法を本当に知りません、私はすでにたくさん探しました! ご協力いただきありがとうございます !
javascript - なぜ!!varJavaScriptを返すのですか?
Sizzle.jsを見た後、.を返すassert関数(以下を参照)があることに気付きました!!fn(x)
。
なぜ誰かがそれをするのでしょうか?それがちょうどそうなるので、それをすることは無意味に思えます"not not"
。
誰かがこれに光を当てましたか?
javascript - IE8 のセレクターを使用した XML の解析 -
現在、セレクターを使用して WMS Capabilities XML ファイルを解析していますが、これは素晴らしくクリーンなコード ソリューションです。
しかし、私は IE8 の問題に出くわしました - (Chrome、Safari、Firefox などはすべて完全に動作します)
layerNames
これにより、適切なブラウザーで配列が正常に読み込まれます。
IE9+data
のタイプは[Object, Document]
ただし、IE8 では、 のタイプは、セレクター クエリで解析できないdata
タイプです。IXMLDOMDocument2
またIXMLDOMDocument2
、読み取り専用であるため、シズルは次の場合に例外をスローします。
outerCache = elem[ expando ] || (elem[ expando ] = {});
読み取り専用でelem[ expando ] = {}
あるため失敗します。エラーありIXMLDOMDocument2
。Object doesn't support this property or method
セレクターを使用して配列にデータを入力する方法はありlayerNames
ますか、それとも不可能を追い求めていますか?
javascript - Sizzle と JS を使用して div を配列に取得する
このデータをページから取得するために Sizzle Library を使用しています。(n) 個のアイテムが可能です。
このデータを配列に入れる方法はありますか
jQueryを使用せずに、各項目を配列に入れる必要があります。そして、各アイテム内のDIVの名前を知っています
jquery - jQuery で DOM を再解析して、動的コンテンツをレガシー IE の Sizzle セレクター エンジンに公開する
私は、jQuery 以外のさまざまなソースから動的に生成された多くのコンテンツを含む、大きくて扱いにくいドキュメントを扱っている立場にあります。問題は、このコンテンツの一部が IE6 および 7 の jQuery のセレクターによって取得されないことです。
Sizzle は、レガシー IE の DOM を通過可能にするために、厄介だが必要な悪を使用していることを知っています。問題は、これらのヘルパー属性がいつどのように初期化されるのか、新しい DOM を強制的に再解析して jQuery に公開するにはどうすればよいのかということです。