Получить цвет фона от первого дочернего элемента div

У меня есть такой код:

<div id = "my-color-picker-1" class = "color-picker jcolor-picker"> 
   <div data-type = "btn" style = "background: rgb(150,78,78)"></div>
</div>

Хочу получить такой цвет: rgb(150,78,78);

Я пробовал вот так:

let x = document.getElementsByClassName("color-picker").firstChild;

Но у меня неопределенная ошибка.

Не могли бы вы дать мне несколько советов?

Спасибо заранее.

А как насчет document.getElementsByClassName("color-picker")[0]?

evolutionxbox 06.04.2021 13:03

Отвечает ли это на ваш вопрос? Что возвращают методы querySelectorAll и getElementsBy *?

evolutionxbox 06.04.2021 13:04

Что насчет этого? document.getElementsByClassName("color-picker").childNodes[0‌​];

Gilles Heinesch 06.04.2021 13:05

@GillesHeinesch нет, потому что getElementsByClassName не имеет этого свойства

evolutionxbox 06.04.2021 13:07

Поскольку getElementsByClassName возвращает «коллекцию», а не отдельный элемент

freedomn-m 06.04.2021 15:23
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
5
46
3

Ответы 3

Я выбираю использование элемента querySelector вместо getElementsByClassName.

let bgColor = document.querySelector("#my-color-picker-1").firstChild.style.backgroundColor;

1

Вы также можете получить фон, используя свойство children в элементе узла.

let elements = document.getElementsByClassName("color-picker");
const background = elements[0].children[0].style.background;
console.info( background );
<div id = "my-color-picker-1" class = "color-picker jcolor-picker"> 
   <div data-type = "btn" style = "background: rgb(150,78,78)"></div>
</div>

2

let element = document.getElementsByClassName("color-picker")[0]
const bgColor = element.firstElementChild.style.background;
console.info( bgColor );
<div id = "my-color-picker-1" class = "color-picker jcolor-picker"> 
   <div data-type = "btn" style = "background: rgb(150,78,78)"></div>
</div>

Первый ребенок вернет вам первого потомка узла в дереве.

Затем вам понадобится nextSibling, который возвращает узел, следующий сразу за указанным в дочерних узлах их родителя.

let bgColor = document.querySelector("#my-color-picker-1").firstChild.nextSibling.style.backgroundColor

console.info(bgColor);
<div id = "my-color-picker-1" class = "color-picker jcolor-picker">
  <div data-type = "btn" style = "background: rgb(150,78,78)"></div>
</div>

Другие вопросы по теме