Почему js не хочет менять цвет фона?

Вот исходник:

function reverseRGBColor(rgbColor) {

  rgbColor = rgbColor.slice(4, rgbColor.length - 1)

  rgbColor = rgbColor.split(')')
  rgbColor = rgbColor.join()
  rgbColor = rgbColor.split(',')
  var r = parseInt(rgbColor[0])
  g = parseInt(rgbColor[1])
  b = parseInt(rgbColor[2])
  var rgbFullReversed = '';
  r = Math.abs(r - 255)
  g = Math.abs(g - 255)
  b = Math.abs(b - 255)
  rgbFullReversed = `rgb(${r},${g},${b})`
  return rgbFullReversed
}
$("body").click(function(){
$("html").style.backgroundColor=reverseRGBColor($("html").style.backgroundColor)
     alert($("html").style.color)
     $("html").style.color=reverseRGBColor($("html").style.color)
})

Ответы (1 шт):

Автор решения: Grundy

$("html") - возвращает jQuery объект. У jQuery объекта нет свойства style.

Если нужно оперировать с html элементом, лучше сразу его и использовать без jQuery, а получать с помощью .querySelector

$("body").click(function(){
    var html = document.querySelector('html');
    html.style.backgroundColor=reverseRGBColor(html.style.backgroundColor);
    alert(html.style.color);
    html.style.color=reverseRGBColor(html.style.color);
})
→ Ссылка