Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как удалить <br> (https://javascript.ru/forum/jquery/11822-kak-udalit-br.html)

zsaz 15.09.2010 16:20

Как удалить <br>
 
При нажатии на + добавляется input и тег <br>, как сделать, чтобы при нажатии на - удалялся последний input и <br>, который после него??

<script type="text/javascript">
$(document).ready(function(){
x=1;
$('.add').click(t = function() {
if (x==10) return false;
var new_input = document.createElement("input");
new_input.setAttribute('type', 'file');
new_input.setAttribute('class', 'foto');
new_input.setAttribute('name', 'photo[]');
new_input.setAttribute('value', '');

$('.del').after(new_input).after('<br>');

x++;
});
$('.del').click(t = function() {
if (x==1) return false;
$('<br>:last').remove();
$('.foto:last').remove();
x--; /////// инкрементируем счетчик полей
});

});
</script>
<input class="foto" style='border:1px solid #1d8cd7;' type='file' name='photo[]' value='' /> <a class='add' href="javascript: void(0)" target='_self'><b>+</b></a> <a class='del' href="javascript: void(0)" target='_self'><b>-</b></a>

subzey 15.09.2010 17:26

А почему бы вместо br'ов не обернуть input в div?
Тогда при удалении дива-обертки удалится и сам инпут и перенос осле него.

zsaz 15.09.2010 17:38

а как инпут обернуть в див тогда??? я пытался сделать нечто такое:
$(.foto).after("<div>").after(new_input).after("</div>");

exec 15.09.2010 17:48

.wrap('<div></div>');

zsaz 16.09.2010 07:10

var new_div = document.createElement("div");
new_div.setAttribute('class', 'foto');

$('.foto:last').wrap(new_div).before(new_input);

я вот что написал, но тут получается, что создается инпут в диве, а этот див вкладывается в другой див. Короче получается огромная иерархия дивов

psyhonut 16.09.2010 07:11

Ну и что?
или типа каждый последующий вкладывается в предыдущий? Значит просто не туда вставляешь.


Часовой пояс GMT +3, время: 04:05.