Домен теней не показывает дочерний элемент? - PullRequest
0 голосов
/ 18 апреля 2020

Я написал следующий код:

<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='UTF-8'>
  <style> p { color: green; } </style>
</head>
<body>
<p>My Future is so bright</p>
<div id='foo'></div>
<script>
  var foo = document.getElementById('foo');
  foo.shadow = document.createElement('p');
  foo.shadow.textContent = 'I am shadow';
</script>
</body>
</html>

Приведенный выше код показывает только вывод:

My Future is so bright  // In green

Я полагаю, ожидаемый результат:

My Future is so bright  // In green
I am shadow

Насколько я понимаю, I am shadow не будет отображаться в green, потому что это часть shadowDOM, а не фактическая DOM. Кроме того, теневой DOM - это концепция, определенная в JavaScript, или она определена в HTML?

1 Ответ

0 голосов
/ 18 апреля 2020

Вам нужно appendChild:

  var shadow = document.createElement('p');
  shadow.innerText = "I'm shadow";
  foo.appendChild(shadow);
...