[javascript] jQuery "इस" के पहले बच्चे


Answers

children साथ कार्य करें :first element पहले बच्चे को प्राप्त करने के लिए :first चयनकर्ता :

element.children(":first").toggleClass("redClass");
Question

मैं एक क्लिक किए गए अवधि से एक jQuery फ़ंक्शन पर "यह" पास करने का प्रयास कर रहा हूं जो उस क्लिक किए गए तत्व के पहले बच्चे पर jQuery को निष्पादित कर सकता है। यह सही नहीं लग रहा है ...

<p onclick="toggleSection($(this));"><span class="redClass"></span></p>

जावास्क्रिप्ट:

function toggleSection(element) {
  element.toggleClass("redClass");
}

मैं तत्व का पहला बच्चा कैसे संदर्भित करूं?







यदि आप तत्काल पहले बच्चे को चाहते हैं तो आपको चाहिए

    $(element).first();

यदि आप अपने तत्व से डोम में विशेष पहले तत्व चाहते हैं तो नीचे उपयोग करें

    var spanElement = $(elementId).find(".redClass :first");
    $(spanElement).addClass("yourClassHere");

आज़माएं: http://jsfiddle.net/vgGbc/2/




मैंने अभी एक प्लगइन लिखा है जो संभव है। .firstElementChild यदि संभव हो, तो आवश्यक होने पर प्रत्येक व्यक्तिगत नोड पर पुनरावृत्ति करने के लिए वापस आ जाता है:

(function ($) {
    var useElementChild = ('firstElementChild' in document.createElement('div'));

    $.fn.firstChild = function () {
        return this.map(function() {
            if (useElementChild) {
                return this.firstElementChild;
            } else {
                var node = this.firstChild;
                while (node) {
                    if (node.type === 1) {
                        break;
                    }
                    node = node.nextSibling;
                }
                return node;
            }
        });
    };
})(jQuery);

यह एक शुद्ध डोम समाधान के रूप में तेज़ नहीं है, लेकिन क्रोम 24 के तहत जेएसपीआरएफ परीक्षणों में यह किसी भी अन्य jQuery चयनकर्ता-आधारित विधि की तुलना में तीव्रता के कुछ आदेश तेज था।




element.children().first();

सभी बच्चों को ढूंढें और उनमें से पहले प्राप्त करें।




Related