문제

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() 랩핑 된 세트에서 위치로 그들에게 도달 할 수 있습니다.

자신의 필터를 작성합니다 찌는 듯이 덥다 선택기 엔진은 원하는 결과를 산출 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top