получить атрибуты из фрагмента документа? - PullRequest
0 голосов
/ 30 марта 2020

Я хочу получить доступ к атрибуту индекса данных в javascript, но когда я набираю taskElement.dataset.index Я получаю сообщение об ошибке

Как получить доступ к атрибуты, которые в элементе шаблона?

const tasksContainer = document.querySelector('[data-tasks]')
const taskTemplate = document.getElementById('task-template')
const taskElement = document.importNode(taskTemplate.content, true)
tasksContainer.appendChild(taskElement)
<div class="tasks draggables-container" data-tasks>Tasks:</div>

<template id="task-template">
  <div class="task draggable" draggable="true" data-index>
    <input type="checkbox" />
    <label>
      <span class="custom-checkbox">Text</span>
    </label>
  </div>
</template>

Ответы [ 2 ]

0 голосов
/ 30 марта 2020

Вам необходимо присвоить значение тегам набора данных, чтобы получить к нему доступ.

как это:

<div class="task draggable" draggable="true" data-index="1">
0 голосов
/ 30 марта 2020

Вы имеете в виду это?

const tasksContainer = document.querySelector('[data-tasks]')
const taskTemplate = document.getElementById('task-template')
const taskElement = document.importNode(taskTemplate.content, true)
console.log(taskElement.querySelector("div[data-index]").dataset.index)
tasksContainer.appendChild(taskElement)
<div class="tasks draggables-container" data-tasks>Tasks:</div>

<template id="task-template">
  <div class="task draggable" draggable="true" data-index="idx">
    <input type="checkbox" />
    <label>
      <span class="custom-checkbox">Text</span>
    </label>
  </div>
</template>
...