問題タブ [document.evaluate]
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 - エキス
document.evaluate()要素から特定の子要素を抽出するために使用しようとしてい<svg>ます。しかし、それ自体を抽出するだけでは問題があり<svg>ます。まではすべて抽出できます<svg>が、それ以上は抽出できません。たとえば、これはうまくいきます:
これは私に(短縮)を与えます:
そして、私は単純なことを仮定します
私に与えるでしょう<svg>-しかし、何も機能しません。すべての応答タイプを試しました:
invalidIteratorState、 nullsingleNodeValueまたはsnapshotLength0のいずれかを取得します。
デモ -> http://jsfiddle.net/hw79zp7j/
evaluate()聞いたことのない制限はありますか、それとも完全に間違っているだけですか?
明確にするために、私の最終的な目標は、たとえばGoogleの視覚化xAxis <text>要素を1行のコードで抽出できるようにすることです。現在のように (デモを参照) 、<svg>複数のquerySelectorAll/getElementsByTagNameなどを使用して繰り返し処理する必要があります。xpathGoogle 開発者ツールからを取得して、1 行で再利用するだけでよいでしょう。
javascript - document.evaluate は Google Chrome では機能するが、Firefox では機能しない
次のコードは Google Chrome では完全に機能しますが、Firefox では空の配列を返します。