jQuery는 선형 그레이드 객체를 선택하지 않습니다
-
22-07-2019 - |
문제
jQuery 1.3.2를 사용하고 있으며 SVG DOM 요소에서 일부 요소를 선택하려고합니다.
$('svg > defs > lineargradient')
그러나 어떤 이유로 든 선택하지 않으면 다른 항목에 액세스 할 수 있다는 것을 알고 있습니다.u003Csvg> 요소 $ ( "svg> rect")를 성공적으로 검색 했으므로 요소.
내 svg dom은 다음과 같습니다.
<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>
jQuery 1.3.2가u003Clineargradient> 집단?
해결책
alert($('svg lineargradient').length);
편집하다:
그게 보인다 >
즉각적인 자식 표현은 작동하지 않지만,이없이 선택기를 지정하면 (가능하면) Firefox에서는 괜찮습니다. ~ 아니다 즉). 그러나 다음은 IE에서 작동합니다 (IE7에서 테스트)
alert($('lineargradient').length);
분명히, 이것은 선택할 것입니다 <lineargradient>
페이지에서 원하는 요소는 약간 더 어렵지만 명령은 다음과 같습니다. slice()
그리고 eq()
랩핑 된 세트에서 위치로 그들에게 도달 할 수 있습니다.
자신의 필터를 작성합니다 찌는 듯이 덥다 선택기 엔진은 원하는 결과를 산출 할 수 있습니다.
제휴하지 않습니다 StackOverflow