سؤال

أنا باستخدام مسج 1.3.2 و أنا أحاول تحديد بعض العناصر في svg عنصر DOM.

$('svg > defs > lineargradient')

ولكن لسبب ما لا تحديده ، وأنا أعلم أنني يمكن الوصول إلى العناصر الأخرى في <svg> عنصر منذ ان نجحت في استرداد مبلغ("svg > rect").

بلدي SVG دوم يبدو مثل هذا:

<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>

هل هناك أي سبب لماذا مسج 1.3.2 لن تكون قادرة على تحديد <lineargradient> العناصر ؟

هل كانت مفيدة؟

المحلول

alert($('svg lineargradient').length);

العمل التجريبي

تحرير:

يبدو أن > الطفل فورا التعبير لا يعمل ، ولكن إذا قمت بتحديد محدد دون هذا (إن أمكن) ، فإنه على ما يرام في فايرفوكس (ولكن لا IE).التالية لا تعمل في أي ومع ذلك (اختبار في IE7)

alert($('lineargradient').length);

ومن الواضح أن هذا سوف اختيار <lineargradient> العناصر التي تريد على صفحة قليلا أكثر صعوبة ، ولكن الأوامر مثل slice() و eq() سوف تسمح لك الحصول عليها من خلال موقف في التفاف مجموعة.

الكتابة الخاصة بك عن المرشحات همسة محدد المحرك قد تسفر عن النتائج التي تريدها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top