Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> jquery мультивраппинг нод 
:(
    Опции темы
Frozen_Coyote
Дата 30.10.2015, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 20.9.2007

Репутация: нет
Всего: нет



Привет

есть к примеру текст

Код

<div id="container">
<p>Абзац 1</p>
Строка-потеряшка 1<a href="link">Ссылка</a> Строка-потеряшка 2
<p>Абзац 2</p>
<p>Абзац 3</p>
Строка-потеряшка 3<img /> <span>123</span>
<p>Абзац 4</p>
<p>Абзац 5</p>
</div>


как мне найти застрявшие между параграфами голые строки и теги и обернуть их в <p>? Регулярками можно, но не хочу, интересует решение, так сказать  пуреджэкуэри. Забавность в том что $("#container").find("*") ловит только теги, как то надо ползти со стороны $("#container").contents().filter, но что то не смекну как. + главная фишечка нужна: разумеется новый параграф должен оборачивать всех несчестных страдальцев, застрявших между параграфами ОПТОМ а не каждую ноду по отдельность, т.е. 

Код

<div id="container">
<p>Абзац 1</p>
<p>Строка-потеряшка 1<a href="link">Ссылка</a> Строка-потеряшка 2</p>
<p>Абзац 2</p>
<p>Абзац 3</p>
<p>Строка-потеряшка 3<img /> <span>123</span></p>
<p>Абзац 4</p>
<p>Абзац 5</p>
</div>



спасибо

Это сообщение отредактировал(а) Frozen_Coyote - 30.10.2015, 15:45
PM MAIL   Вверх
Padonak
Дата 31.10.2015, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 29.5.2008
Где: Ростов-на-Дону

Репутация: нет
Всего: 2



Код

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>XZ</title>
<style>
p{
padding:20px;
background-color:#f8f8ff;
border:1px solid #ccc;
border-radius:5px;
}
p.new{
background-color:Lightsteelblue;
}
</style>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
/* http://ru.vingrad.com/jquery-multivrapping-nod-id56336651ae2015c6738b4567 */

/* оказывается, jQuery, игнорит текстовые ноды. нашел в интернете как это победить.
так что, как говорится, пользуйтесь поиском и вам воздастся :) */
function isTextNode(){
return(this.nodeType === 3);
}

$(document).ready(function(){
$( "#container").contents().filter(isTextNode).wrap('<span></span>');
$('#container p').each(function(){
if($(this).next().is(':not(p)')){
$(this).nextUntil('p').wrapAll('<p class="new"></p>');
}
});
/* толком не понял откуда берутся пустые параграфы со спанами внутри,
поэтому просто их тупо трем. ищите откуда у них ноги растут самостоятельно,
если надо */
$('p.new').each(function(){
if($(this).text().length < 2){$(this).remove();}
});
});
</script>
</head>
<body>
<center>
<div id="container">
<p>Абзац 1</p>
Строка-потеряшка 1<a href="link">Ссылка</a> Строка-потеряшка 2
<p>Абзац 2</p>
<p>Абзац 3</p>
Строка-потеряшка 3<img src="http://ru.vingrad.com/images/mann_150x150.png" /> <span>123</span>
<p>Абзац 4</p>
<p>Абзац 5</p>
</div>
</center>
</body>
</html>


Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL WWW ICQ   Вверх
Padonak
Дата 2.11.2015, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 29.5.2008
Где: Ростов-на-Дону

Репутация: нет
Всего: 2



Я смотрю, тут как-то не особо принято отписываться на предмет подошло/не подощло и т.п. В итоге не совсем понятно: правильно ты сделал, что просра потратил время на чужие проблемы или лучше было кино посмотреть?

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.1265 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.