Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.08.2009, 13:26
Аватар для SashaBorandi
Интересующийся
Отправить личное сообщение для SashaBorandi Посмотреть профиль Найти все сообщения от SashaBorandi
 
Регистрация: 25.12.2008
Сообщений: 16

Как вставить тег в конец других?
Добрый день ребята.

Как можно вставить тег допустим "<li>текст</li>" в конец "<ul></ul>" других тегов?

Есть вот это:
<div id="data">
<ul>
<li>текст</li>
<li>текст</li>
<li>текст</li>
<li>текст</li>
</ul>
</div>


в JS пишу:
var tag = '<li>текст</li>';
$('#data ul').html(tag);


но как понятно он полностью уничтожает содержимое тега "ul" и вставляет... Мне же нужно сделать так чтобы вставлял в конец уже содержимого?
Ответить с цитированием
  #2 (permalink)  
Старый 28.08.2009, 13:38
Аватар для SashaBorandi
Интересующийся
Отправить личное сообщение для SashaBorandi Посмотреть профиль Найти все сообщения от SashaBorandi
 
Регистрация: 25.12.2008
Сообщений: 16

Нащел ответ... но не совсем то что нужно..

Цитата:
append(something): добавляет “something” в конец выбранного;
У меня же на самом деле код выглядит так:
var tag = '<li>текст</li>';
$('#data').find(ul).html(tag);


<div id="data">
<ul>
<li>текст<ul></ul></li>
<li>текст<ul></ul></li>
<li>текст<ul></ul></li>
<li>текст<ul></ul></li>
</ul>
</div>


Я просто упростил вариант кода, но мне жизнено необходимо использовать ".find(ul)" так как мне нужно найти его...

Вот в результате замены ".html(tag)" на ".append(tag)" приводит к тому что он подставляет везде где есть тег "<ul>"...
Ответить с цитированием
  #3 (permalink)  
Старый 28.08.2009, 13:54
Аспирант
Отправить личное сообщение для Urfin Посмотреть профиль Найти все сообщения от Urfin
 
Регистрация: 22.07.2009
Сообщений: 85

Добавьте ULу класс или ID и ищите по ним.
.find('ul.my_class').append(...)


Вернее у вас же вложен в див, тогда можно так:
$('#data').find('ul').append(...)

Последний раз редактировалось Urfin, 28.08.2009 в 13:57.
Ответить с цитированием
  #4 (permalink)  
Старый 28.08.2009, 14:12
Аватар для SashaBorandi
Интересующийся
Отправить личное сообщение для SashaBorandi Посмотреть профиль Найти все сообщения от SashaBorandi
 
Регистрация: 25.12.2008
Сообщений: 16

Сообщение от Urfin Посмотреть сообщение
Добавьте ULу класс или ID и ищите по ним.
.find('ul.my_class').append(...)
Так не получится, так как если я "ul" сделаю класс или идентификатор.. то и вложенным в "li" тегу "ul" тоже будет тотже самый класс или индентификатор как у родителя...

Цитата:
Вернее у вас же вложен в див, тогда можно так:
$('#data').find('ul').append(...)
Я это способ уже описал выше.. результатом будет то что он во все "ul" будет вставлять...

Проблема в find().. чем бы его заменить?
Ответить с цитированием
  #5 (permalink)  
Старый 28.08.2009, 14:23
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

$('#data > ul:first').append('<li>текст</li>');

А что мешает дать класс?
Сообщение от SashaBorandi Посмотреть сообщение
если я "ul" сделаю класс или идентификатор.. то и вложенным в "li" тегу "ul" тоже будет тотже самый класс или индентификатор как у родителя...
Бред какой-то...
Ответить с цитированием
  #6 (permalink)  
Старый 28.08.2009, 14:46
Аватар для SashaBorandi
Интересующийся
Отправить личное сообщение для SashaBorandi Посмотреть профиль Найти все сообщения от SashaBorandi
 
Регистрация: 25.12.2008
Сообщений: 16

Никакого бреда нету!
Я делаю комментарии к посту.. с поддержкой AJAX.. Но так чтобы можно было отвечать на уже созданные коменты..

Есть шаблон для одного комментария (сократил его):
<li>
<div>{username}<div>
<div>{text_comment}<div>
<ul>{comm}<ul>
</li>


Есть шаблон для блока коментариев (сократил):
<div>
<h3>Комментарии:</h3>
<ul>{comm_list}</ul>
</div>


В PHP у меня генерируется список и вставляется в основной блок комментарии в {comm_list}. А если у комментарии есть "под-комментарий" то он вставляется в {comm}..

ПО-ЭТОМУ! если я ul сделаю клас то и везде будут тоже тотже самый клас...
Ответить с цитированием
  #7 (permalink)  
Старый 28.08.2009, 15:08
Аватар для SashaBorandi
Интересующийся
Отправить личное сообщение для SashaBorandi Посмотреть профиль Найти все сообщения от SashaBorandi
 
Регистрация: 25.12.2008
Сообщений: 16

Все.. решение найдено.. Пришлось переделать поиск тега.. и установки селектора ">"..

Вот что получилось:
$('li[id="comment_'+post_id+'_'+comm_id+'"] > ul').append(data);
Ответить с цитированием
  #8 (permalink)  
Старый 28.08.2009, 15:10
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Ну, тогда можно так: Вы же знаете, куда именно должен быть вставлен новый комментарий, то есть можете определить переменную parent, содержащую ссылку на тот <ul>, куда необходимо добавить новый комментарий. И тогда все просто:
$(parent).append('<li>текст</li>')
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как найти конец плоского файла Don_001 Общие вопросы Javascript 1 07.07.2009 12:47
как в ячейку твблицы вставить значение переменной firudin Общие вопросы Javascript 1 01.07.2009 09:13
Как создать родительский тег? AgRy Events/DOM/Window 1 13.02.2009 12:21
Как считать файл с винта и вставить его в mht-файл ? potkin Общие вопросы Javascript 4 26.08.2008 14:17
Как вставить событие внутрь document.write Vivasvan Events/DOM/Window 8 13.06.2008 20:02