Помогите сделать вложенные теги. Не могу разобраться с append
Никак не могу справиться с вложенными append. Всю голову сломал. Опыта не хватает. text и selectmark нужно именно объектами вставлять, а не текстом, потому как они динамически создаются. И таких мест почти десяток, которые вставить нужно. Пока самый простой способ вижу - создавать еще переменные на каждый row и col и к ним сначал добавлять объекты, а потом уже их в форму. Если делаю
form.append("<div class=row></div>").append("<div class=col></div>").append(text);
то он row закрывает раньше.var form = "<form></form>"; var selectmark = "<select></select>"; var text = "some text"; мне нужно на выходе получить:
<form>
<div class="row">
<div class="col">
==text==
</div>
<div class="col">
==selectmark==
</div>
</div>
</form>
|
Если $('<div class="row"/>').appendTo(form).то далее тут мы будем иметь вставленный div. А form.append("<div class=row></div>").тут все еще form, от этого и казус.
|
laimas,
А можете показать как правильно это написать вложенными? потому как Цитата:
|
Способов много может быть, но если цепочкой описать и использовать append, то:
form.append(вставляемый html элемент) .find(селектор вставленного элемента) //получаем этот элемент .append(...) //вставляем в него что-то .end() //возвращаемся к форме .append(...) //опять что-то вставляем в форму . и т.д. |
kevin2,
<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
.row{
border: 4px solid #006400;
margin: 10px;
}
.col{
border: 2px solid #0000CD;
margin: 10px;
}
form{
border: 2px solid #FFD700;
margin: 10px;
}
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.0/jquery.min.js"></script>
<script>
$(function() {
var form = "<form></form>";
var selectmark = "<select></select>";
var text = "some text";
var row = "<div class='row'></div>"
text = document.createTextNode(text);
var row = $(row);
$(form).appendTo("body").append(row);
row.append(text, $(selectmark))
.contents().wrap("<div class='col'></div>")
});
</script>
</head>
<body>
</body>
</html>
|
| Часовой пояс GMT +3, время: 13:28. |