jQuery before() и after()
Доброе время суток. Такая проблема функции before и after добавляют елементы в конец родительского...
<div class="wrapper"> <div class="w"></div> <div class="a"></div> <div class="a"></div> <div class="a"></div> </div> Пишу: $('.w:last').after('<div class="w"></div>') или $('.w:first').before('<div class="w"></div>') и в обоих случаях получается: <div class="wrapper"> <div class="w"></div> <div class="a"></div> <div class="a"></div> <div class="a"></div> <div class="w"></div><!--добавился здесь --> </div> подскажите что делать или каким образом можно по другому добавить элементы. Способ: $('.wrapper:first').html($('.wrapper:first').html( ) + '<div class="w"></div>') работает, но после javascript не видит элементы внутри '.wrapper'... Спасибо за ответы! Возможно причина в том что '<div class="w"></div>' - это строка. Кто-нибудь может подсказать как ее переформатировать в объект, так чтоб это был объект элемента дом? |
append |
ну причем тут append. В том то и дело, что сейчас
$('.w:last').after('<div class="w"></div>') или $('.w:first').before('<div class="w"></div>') работают как append! А нужно, что б они работали как указано в документации по jquery |
insertAfter
insertBefore |
after вставляет не в конце родительского, а после указываемого.
Твой пример себе запустил. У меня все ок с $('.w:last').after('<div class="w"></div>') |
$('.w').clone().insertAfter('xx')
|
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <script src="http://code.jquery.com/jquery-1.5.js" type="text/javascript"></script> <style type="text/css"> #BOX { background-color: #FF9; border: medium dotted #33F; height:70px; width:400px; } img { float: left;position: relative; } #boxic {background-color: #9C6;eight: 60px;width: 50px;float: left; position: relative; } #Can-tFond { background-color: #0FC; height: 60px; width: 49px; border: thin solid #C36; float: left;position: relative; } </style> </head> <body> <div id='boxic'>boxic </div> <script type="text/javascript"> $(document).ready(function(){ $('img').live('mouseenter',function(){ $(this).fadeTo('fast',0.4).fadeTo('fast',1) }) }) </script> <script type="text/javascript"> $(document).ready(function(){ $('#BUT').live('click',function(){ $('<span> <img src="http://javascript.ru/forum/image.php?u=8616&dateline=1282216923" /> <div id="Can-tFond">Can-tFond</span> ').insertBefore('#boxic') }) }) </script> <script type="text/javascript"> $('*').live('mouseup',function(){ var g=$(this).height() alert(''+g+'px_ это высота ,Странности _ почему ведет себя как бы ИТЧ-цикл???' ) }) </script> <input id='BUT' name="" type="button" /> </body> </html> Здесь работает нормально, но реально у меня возвращает только то ,что находиться в $(<xxxx>).inser... а старых соседей за его пределами ,искать не хочет. Еще показывает индекс 1 для инсертнуго,хотя в ДОМ он находиться ,кто-знает где . ...Подскажите пожайлуста, в чем может быть дело ? Подозреваю,что это должно быть нечто var cardadd=document.createElement('<span class="SPAN-CHacked" ><img class=ChackImg src="Untitled-right.png?2" /><input name="chackInserted" class="Ch_'+numb+'" type="checkbox" value="" checked /> </span>') cardadd.insertBefore('*[line="zoom-1"][iso^='+numb+']') ....но НЕ работает и так ... Еще работает так ('<img src="Untitled-right.png?2" />).insertAfter('xx') cardadd.insertBefore('*[line="zim-1"][iso^='+numb+']') то есть _по одиночке . Как реализовать цепочку из (<> <>xxx</> <>xxx</> <>xxx</> </>).insertAfter('xx') ?? |
Цитата:
вставляет как в документации после <div class="w"></div> пробовал в FF8, jquery последний |
Посмотрите на дату сообщения ТС... ;)
|
Часовой пояс GMT +3, время: 21:41. |