jQuery nicht auswählt LinearGradient Objekt
-
22-07-2019 - |
Frage
Ich bin mit jQuery 1.3.2, und ich versuche, einige Elemente in einem SVG-DOM-Elemente zu wählen.
$('svg > defs > lineargradient')
Doch aus irgendeinem Grund es nicht wählen, ich weiß, dass ich andere Elemente in der
Mein SVG DOM sieht wie folgt aus:
<svg width="975" height="385">
<defs>
<lineargradient id="raphael-gradient-0" x1="1.000" y1="1.000" x2="0.000" y2="0.000">
<stop offset="0%" stop-color="#242b62"/><stop offset="9.090909090909092%" stop-color="#174a88"/>
<stop offset="18.181818181818183%" stop-color="#0e60a3"/><stop offset="27.272727272727273%" stop-color="#0b66ab"/>
<stop offset="36.36363636363637%" stop-color="#0870b7"/>
...
</lineargradient>
<lineargradient id="raphael-gradient-1" x1="1.000" y1="1.000" x2="0.000" y2="0.000">...</lineargradient>
</defs>
<circle cx="50" cy="40" r="10" fill="#ff0000" stroke="#000" transform=""/>
<rect x="0" y="0" width="975" height="385" fill="url(#raphael-gradient-1)" stroke="none" transform="" style="opacity: 1;" opacity="1" fill-opacity="1"/>
</svg>
Gibt es einen Grund, warum jQuery 1.3.2 nicht die
Lösung
alert($('svg lineargradient').length);
EDIT:
Es scheint, dass der >
sofortiges Kind Ausdruck funktioniert nicht, aber wenn Sie einen Selektor, ohne dass dies angeben (wenn möglich), ist es in Firefox (aber nicht IE). Die folgende funktioniert in IE jedoch (getestet in IE7)
alert($('lineargradient').length);
offensichtlich, dies wird die Auswahl der <lineargradient>
Elemente, die Sie auf einer Seite wollen etwas härter, aber Befehle wie slice()
und eq()
ermöglichen es Ihnen, die sie von Position in dem umschlossenen Satz zu erhalten.
Schreiben Sie Ihre eigenen Filter für die Sizzle Selektor-Engine wollen die Ergebnisse möglicherweise ergeben.