javascript jQuery первый ребенок из "this"





5 Answers

Используйте функцию children с помощью :first selector, чтобы получить единственный первый element :

element.children(":first").toggleClass("redClass");
javascript jquery jquery-selectors css-selectors

Я пытаюсь передать «это» из щелкнутого диапазона в функцию jQuery, которая затем может выполнить jQuery в первом дочернем элементе этого элемента щелчка. Кажется, не получается правильно ...

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

Javascript:

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

Как я могу ссылаться на: first-child элемента?




element.children().first();

Найдите всех детей и получите первое из них.




Я только что написал плагин, который, если возможно, использует .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);

Это не так быстро, как чистое решение DOM, но в тестах jsperf в Chrome 24 он был на несколько порядков быстрее, чем любой другой метод на основе селектора jQuery.




пожалуйста, используйте его, как это первая вещь дать имя класса для тега p, как "myp"

затем используйте следующий код

$(document).ready(function() {
    $(".myp").click(function() {
        $(this).children(":first").toggleClass("classname"); // this will access the span.
    })
})



Если вы хотите немедленного первого ребенка, вам нужно

    $(element).first();

Если вам нужен конкретный первый элемент в dom из вашего элемента, используйте ниже

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

попробуйте: http://jsfiddle.net/vgGbc/2/






Related