Окружающие элементы, использующие JQuery - before () не делает то, что я хочу - PullRequest
1 голос
/ 28 ноября 2011

У меня есть немного HTML, и я звоню каждому H1, используя .each()ХОЧУ , чтобы не только окружать H1, но и все содержимое под ним - до следующего H1 - с делением.

Если я попробую что-то вроде:

$('#presentationcontent h1').each(function (index) {
      $(this).before('<div>');

Это закрывает div для меня ... Я хотел сделать что-то вроде этого:

 $('#presentationcontent h1').each(function (index) {
        counter++;
        if (counter == 1) 
        {
            $(this).before('<div class="headingSections" style="border: 1px">');
        }
        else
        {
           $(this).before('</div><div class="headingSections" style="border: 1px">');
        }

Надеясь, что я мог бы установить первый H1 на <div> и любой другой, чтобы закрыть<div> и откройте новый ... таким образом ВСЕ СОДЕРЖАНИЕ под H1 включается.

Что-нибудь?

Ответы [ 2 ]

2 голосов
/ 28 ноября 2011

Делая предположения о вашей настройке HTML, можно сделать следующее:

$('#presentationcontent h1').each(function() {
    $(this).nextUntil('h1').andSelf().wrapAll('<div/>');
});

Вот jsFiddle , работающее.

2 голосов
/ 28 ноября 2011

Попробуйте:

$('#presentationcontent h1').each(function (index) {
    $(this).nextUntil('h1').andSelf().wrapAll('<div/>');
    // ...
});

http://jsfiddle.net/7V2fb/1/

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