У меня есть следующая строка HTML
<div class="row">
<div class="col-sm-4">
content
</div>
<div class="col-sm-4">
content
</div>
<div class="col-sm-4">
contnt
</div>
</div>
<div class="row">
<div class="col-sm-4">
content
</div>
<div class="col-sm-4">
content
</div>
</div>
Я хочу вставить
<div class="col-sm-4">content</div>
в конце второго ряда (перед закрывающим тегом div), так что вторая строка имеет три элемента.
Я пробовал много вещей, используя JQuery для выполнения этой задачи, но я не могу это сделать. Последнее, что я пробовал, следующее: предположим, что длинный html хранится в HTML и вставляемый PIECE.
$(HTML).find('.col-sm-4').last().after(PIECE);
Может кто-нибудь мне помочь? Для этого должен быть JQuery.
ОБНОВЛЕНИЕ: еще одна вещь, которую я забыл сказать:
Количество строк не фиксировано. Я хочу, чтобы PIECE был вставлен в последнюю строку. Обратите внимание, что длинная строка HTML НЕ является частью страницы. Это просто строка, хранящаяся в переменной Javascript. Мне нужно вставить
class="col-sm-4">content</div>
внутрь. В моих многочисленных тестах я считаю, что это довольно сложно.
Благодарю!
Вот один из способов сделать это.
$('.row:last').append(PIECE);
См. Скрипку: http://jsfiddle.net/tu935/ он работает.
HTML.replace(/<\/div>$/,PIECE+'</div');
Назначьте идентификатор строке, в которую вы хотите добавить ребенка, чтобы это было так:
<div class="col-sm-4" id="test">content</div>
Затем добавьте это в javascript:
$('#test').find(':last').after('<div class="col-sm-4">content</div>');
OR
$('#test').append('<div class="col-sm-4">content</div>');
И попытайтесь использовать span внутри divs, если возможно
Вы можете использовать:
$('.row').eq(1).find(':last').after('<div class="col-sm-4">content</div>');
Основываясь на вашем комментарии, вы можете:
$('.row').last().find(':last').after('<div class="col-sm-4">content</div>');
row
которые имеют только два элемента?