Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.10.2008, 01:21
Новичок на форуме
Отправить личное сообщение для werdes Посмотреть профиль Найти все сообщения от werdes
 
Регистрация: 07.10.2008
Сообщений: 5

Видоизменение содержимого контейнеров
Доброго времени суток
По запросу "jquery форум" ,этот форум оказался на первом месте в поисковике, поэтому решил обратиться к вам...
Надеюсь не откажите в помощи.
Нужно видоизменить содержимое контейнера примерно так:

До:
<div class="box">
    <div class="title">Заголовок</div>
        <div class="txt">текст</div>
</div>


После:
<div class="box">
  <div class='white-box'>
    <div class="title">Заголовок</div>
        <hr class='line'/>
            <div class="txt">текст</div>
  </div>
</div>


При помощи jquery сделал простую замену тегов:
$("div .box").ready(function(){
 boxheader = ("<div class='box'><div class='white-box'>");
 boxfooter = ("</div></div>");
 boxtitle = $('div.title').html();
 boxtext = $("div.txt").html();
 hr = ("<hr class='line'/>");
$("div.box").replaceWith(boxheader+boxtitle+hr+boxtext+boxfooter);
 });


И вроде бы все хорошо, но затея состоит в том, что контейнеров с классом "box" будет много..

когда их на странице больше одного, то содержимое тегов с классами "title" и "txt" идет из "title" и "txt" -первого обработаного контейнера "box"

Помогите заставить jquery обрабатывать каждый контейнер отдельно, а не смешивать все в кучу.
Буду вам очень благодарен. Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 07.10.2008, 01:47
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

jQuery 1.2.6
$('.box').wrapInner('<div class="white-box"></div>');
Ответить с цитированием
  #3 (permalink)  
Старый 07.10.2008, 02:04
Новичок на форуме
Отправить личное сообщение для werdes Посмотреть профиль Найти все сообщения от werdes
 
Регистрация: 07.10.2008
Сообщений: 5

Сообщение от Octane Посмотреть сообщение
jQuery 1.2.6
$('.box').wrapInner('<div class="white-box"></div>');
Мысль про заворачивание была ранее, но дело в том, что тут div class="white-box" приведен как просто легкий пример, не отвлекающий от основной мысли...
На самом деле все это нужно завернуть в

<table >
		    <tr>
			    <td class="tlv"></td>
			    <td class="tcv"></td>
			    <td class="trv"></td>
		    </tr>
		    <tr>
			    <td class="tlc"></td>
			    <td>





                                      </td>
			    <td class="trc"></td>
		    </tr>
		    <tr>
			    <td  class="tln"></td>
			    <td  class="tcn"></td>
			    <td  class="trn"></td>
		    </tr>
	    </table>


поэтому я посчитал что будет проще

boxheader = ("<table><tr><td class='tlv'></td><td class='tcv'></td><td class='trv'></td></tr><tr><td class='tlc'></td><td>");
 boxfooter = ("</td><td class='trc'></td></tr><tr><td class='tln'></td><td class='tcn'></td><td class='trn'></td></tr></table>");
$("div.box").replaceWith(boxheader+boxtitle+hr+boxtext+boxfooter);
Ответить с цитированием
  #4 (permalink)  
Старый 07.10.2008, 02:22
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Ну и в чем проблема, сложите innerHTML
$('.box').each(function() {
  this.html('<table>…' + this.html() + '…</table>');
});
Ответить с цитированием
  #5 (permalink)  
Старый 10.10.2008, 00:35
Новичок на форуме
Отправить личное сообщение для werdes Посмотреть профиль Найти все сообщения от werdes
 
Регистрация: 07.10.2008
Сообщений: 5

Спасибо
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перезагрузка содержимого в select magistr_bender Общие вопросы Javascript 8 10.09.2008 21:33
Передача содержимого this Tumman Общие вопросы Javascript 4 08.09.2008 15:43
Как сделать окошко с возможностью изменения его содержимого? nolka Элементы интерфейса 2 10.07.2008 08:22