JQuery / CSS – addClass к first:p нескольких отделение с указанным классом

Я использую (пытающийся использовать) jQuery для добавления класса к первому абзацу каждого отделения с классом ".djBio", которым Моя проблема состоит в том, что это только добавляет класс к первому div.djBio, не все отделения с тем классом. Вот код. Я также использую необычную букву плагин jQuery для добавления буквицы к первому абзацу (который также только относится к первому div.djBio, не всем),

jQuery(function( $ ){
    $('.servicesContent p:first, .about-usContent p:first, .djBio p:first').fancyletter().addClass('firstP');
});

Большое спасибо за Вашу справку!

5
задан HandiworkNYC.com 18 April 2010 в 13:52
поделиться

3 ответа

В какой-то момент вы наткнулись на то, о чем все спотыкаются: : сначала на самом деле не означает то, что вы (сначала) думаю, это значит. : first будет только когда-либо возвращать (максимум) один элемент . Лучший способ решить вашу проблему - использовать each () :

$(function() {
  $(".servicesContent, .about-usContent, .djBio").each(function() {
    $(this).find("p:first").addClass("...");
  });
});
9
ответ дан 13 December 2019 в 19:24
поделиться

Как вы обнаружили, селектор : first соответствует первому элементу селектора, к которому вы его применили, и вернет только (максимум) один элемент.

Вам необходимо использовать селектор : first-child , который будет соответствовать любому элементу, являющемуся первым дочерним элементом своего родителя. (Обратите внимание, что если перед первым p есть другой элемент, он все равно не будет работать)

0
ответ дан 13 December 2019 в 19:24
поделиться

Вы можете переписать код следующим образом, чтобы добавить класс ко всем первым тегам p:

$('.servicesContent, .about-usContent, .djBio').each(function() {
    $(this).find('p:first').fancyletter().addClass('firstP');
});

Проблема с вашим кодом в том, что он находит только первый экземпляр тега ap внутри элемента с данным классом.

2
ответ дан 13 December 2019 в 19:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: