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, время: 06:25. |