Size: a a a

JavaScript — русскоговорящее сообщество

2020 October 10

К

Кто in JavaScript — русскоговорящее сообщество
Привет.
У меня есть такой код (https://jsfiddle.net/auk7hL0c/2/):

function createSection() {
   const element = document.createElement("div")
   return { id: 0, element }
}

const sections = [
   createSection(),
   createSection()
]

document.body.append(...sections.map(({element}) => element))

let itemID = 0
document.body.onclick = () => {
   const section = sections[Math.floor(Math.random() * 2)]

   const item = document.createElement("div")
   item.innerText = ++section.id

   section.element.append(item)
}


При клике на страницу один div с цифрой добавляется в случайный section. Выглядит это как два списка, в которые случайно добавляются элементы. Собственно вопрос: есть ли js какая-то штука, чтобы добавлять новые div прямо в document.body, без дополнительного div для section?
источник

IL

Igor Lesnevskiy in JavaScript — русскоговорящее сообщество
Кто
Привет.
У меня есть такой код (https://jsfiddle.net/auk7hL0c/2/):

function createSection() {
   const element = document.createElement("div")
   return { id: 0, element }
}

const sections = [
   createSection(),
   createSection()
]

document.body.append(...sections.map(({element}) => element))

let itemID = 0
document.body.onclick = () => {
   const section = sections[Math.floor(Math.random() * 2)]

   const item = document.createElement("div")
   item.innerText = ++section.id

   section.element.append(item)
}


При клике на страницу один div с цифрой добавляется в случайный section. Выглядит это как два списка, в которые случайно добавляются элементы. Собственно вопрос: есть ли js какая-то штука, чтобы добавлять новые div прямо в document.body, без дополнительного div для section?
попробуй перефразировать вопрос, не очень понятно что ты хочешь получить в итоге
источник

К

Кто in JavaScript — русскоговорящее сообщество
Igor Lesnevskiy
попробуй перефразировать вопрос, не очень понятно что ты хочешь получить в итоге
Я могу конечно перефразировать, но станет ещё менее понятно
источник

IL

Igor Lesnevskiy in JavaScript — русскоговорящее сообщество
Кто
Я могу конечно перефразировать, но станет ещё менее понятно
код понятный, непонятен сам вопрос)
источник

К

Кто in JavaScript — русскоговорящее сообщество
Igor Lesnevskiy
код понятный, непонятен сам вопрос)
Сейчас, если нажать несколько раз, в результате может получиться вот такое дерево, например:
<body>
   <div>
       <div>1</div>
       <div>2</div>
       <div>3</div>
   </div>
   <div>
       <div>1</div>
       <div>2</div>
   </div>
</body>


А я хочу, чтобы получалось вот так:

<body>
   <div>1</div>
   <div>2</div>
   <div>3</div>
   <div>1</div>
   <div>2</div>
</body>


Как мне это сделать?
источник

IL

Igor Lesnevskiy in JavaScript — русскоговорящее сообщество
ну… я может не понимаю чего-то, но в принципе просто document.body.append(item)
источник

IL

Igor Lesnevskiy in JavaScript — русскоговорящее сообщество
но у тебя же эти диваки нужны для разбивки
источник

IL

Igor Lesnevskiy in JavaScript — русскоговорящее сообщество
что это разные секции
источник

К

Кто in JavaScript — русскоговорящее сообщество
Igor Lesnevskiy
ну… я может не понимаю чего-то, но в принципе просто document.body.append(item)
Нет-нет-нет, весь смысл как раз в том, чтобы была разбивка, но при этом дивов-оберток не было
источник

IL

Igor Lesnevskiy in JavaScript — русскоговорящее сообщество
эм… а какой смысл в этом? если у тебя не будет разделителей в доме, то как ты будешь понимать что к чему относится?
источник

IL

Igor Lesnevskiy in JavaScript — русскоговорящее сообщество
или тебе нужно это на уровне js хранить?
источник

К

Кто in JavaScript — русскоговорящее сообщество
Igor Lesnevskiy
или тебе нужно это на уровне js хранить?
Да, я хочу хранить это на уровне js )
источник

IL

Igor Lesnevskiy in JavaScript — русскоговорящее сообщество
Кто
Да, я хочу хранить это на уровне js )
а тебе вообще нужна тогда эта нода элемент тут? { id: 0, element }?
источник

IL

Igor Lesnevskiy in JavaScript — русскоговорящее сообщество
может ты там просто массиов создашь типа {id: 0, store: []}?
источник

IL

Igor Lesnevskiy in JavaScript — русскоговорящее сообщество
и будешь туда пушить?
источник

К

Кто in JavaScript — русскоговорящее сообщество
Igor Lesnevskiy
а тебе вообще нужна тогда эта нода элемент тут? { id: 0, element }?
При разбивке на уровне dom нужна. Собственно, цель состоит в том, чтобы убрать разбивку на уровне dom
источник

К

Кто in JavaScript — русскоговорящее сообщество
Igor Lesnevskiy
может ты там просто массиов создашь типа {id: 0, store: []}?
Окей. И как мне тогда добавлять новый узел в dom?
источник

К

Кто in JavaScript — русскоговорящее сообщество
Нет, я понимаю как это сделать, но мне интересно, может есть какая-то встроенная штука для этого
источник

К

Кто in JavaScript — русскоговорящее сообщество
Типа как фрагменты в реакте
источник

IL

Igor Lesnevskiy in JavaScript — русскоговорящее сообщество
фрагменты  в реакте это по сути и есть надстройка над нативными фрагментами, если я ничего не путаю
источник