Jquery добавление класса в div без имени класса - PullRequest
0 голосов
/ 12 августа 2011

У меня есть следующая разметка:

<body id="terms_and_conditions_page" dir="ltr">
 <div class="main-wrapper"></div> <---------*  Edit
 <div> <-------*
     <div class="page_banner describes_page_content body-bg"></div>
     <div class="content-bg"></div>
 </div>
</body>

, и я пытаюсь добавить класс (tc-content) в div без имени класса, чтобы разметка выглядела так:

<body id="terms_and_conditions_page" dir="ltr">
 <div class="main-wrapper">
 <div class="tc-content"> <-------*
     <div class="page_banner describes_page_content body-bg"></div>
     <div class="content-bg"></div>
 </div>
</body> 

Я пытался $('#terms_and_conditions_page:nth-child(2)').addClass('tc-content');, но он добавляет класс каждому потомку этого пустого div.Есть ли простой способ сделать это?

Редактировать: извините, парень, я скопировал это из firebug, поэтому он пропустил закрывающий div.См. Редактирование

Ответы [ 8 ]

2 голосов
/ 12 августа 2011

Есть много:

 1. #terms_and_conditions_page>*:nth-child(2)
 2. $('.main-wrapper').next()
 3. $('.page_banner').parent()
1 голос
/ 12 августа 2011

использовать :not

вот скрипка http://jsfiddle.net/r89Sa/1/

1 голос
/ 12 августа 2011

попробуйте это:

$('.main-wrapper').next().addClass('tc-content');
0 голосов
/ 12 августа 2011

Попробуйте это

$("div.page_banner").parent().addClass("tc-content");
0 голосов
/ 12 августа 2011

Кажется, что .main-wrapper должен быть родительским div? Попробуйте:

$(".main-wrapper > div").eq(0).addClass("tc-content");
0 голосов
/ 12 августа 2011
$("#terms_and_conditions_page div:not([class])").attr("class","tc-content")

будет работать

0 голосов
/ 12 августа 2011
$('#terms_and_conditions_page > div > div:first').addClass('tc-content');

Элемент div, который вы хотите выбрать, является дочерним по отношению к тегу body, а не прямым по отношению к тегу body. С точной разметкой вам на самом деле не нужно «: first», которое я вставил в селектор, поскольку в этом уровне есть только один div.

... что означает, что в вашей разметке есть незакрытый тег div:

<body id="terms_and_conditions_page" dir="ltr">
 <div class="main-wrapper">
 <div> <-------*
     <div class="page_banner describes_page_content body-bg"></div>
     <div class="content-bg"></div>
 </div>
</body>

Должно быть:

<body id="terms_and_conditions_page" dir="ltr">
 <div class="main-wrapper">
  <div> <-------*
     <div class="page_banner describes_page_content body-bg"></div>
     <div class="content-bg"></div>
  </div>
 </div>
</body>
0 голосов
/ 12 августа 2011

Это всего лишь один div?Назначьте ему идентификатор, а затем вы можете получить элемент по идентификатору и добавить к нему класс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...