Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Почему не работает append()? (https://javascript.ru/forum/events/84540-pochemu-ne-rabotaet-append.html)

ureech 11.10.2022 17:08

Почему не работает append()?
 
Привет.
let container = document.querySelector('.content_item');
let content_fields = '<div class="icms-content-fields"></div>';
$(container).append(content_fields); // Тут работает
let fields = [...];
for (key in fields) {
f += '<div>...</div>';
}
$(content_fields).append(f); // Так не работает
$('.icms-content-fields').append(f); // Так работает


Кто нибудь разжуйте).

рони 11.10.2022 18:00

Цитата:

Сообщение от ureech
$(content_fields).append(f); // Так не работает

работает ))), создаётся новый элемент и "висит" где-то там в памяти(на страницу не вставлен), так же в него добавляется всякое.

рони 11.10.2022 18:22

ureech,
можно так ...
<!DOCTYPE html>
<html>

<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
    </style>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <script>
        $(function() {
            let container = document.querySelector('.content_item');
            let content_fields = '<div class="icms-content-fields"></div>';
            let fields = [1, 2, 3, 10],
                f = '';
            for (let key of fields) {
                f += `<div>${key}</div>`;
            }
            $(content_fields).append(f).appendTo(container);
        });
    </script>
</head>

<body>
    <div class="content_item"></div>
</body>

</html>

ureech 12.10.2022 07:22

Ааа, подозревал, что нужно как то два раза append использовать, но не смог родить идею). Спасибо.


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