Я использовал jdom и jquery с моим сервером node.js и наблюдал следующее странное поведение со следующим кодом:
var divs = window.$('div').each(function() {
//console.log(" -", $(this));
$(this).css('background-color','green');
$(this).addClass('sel');
this.style.backgroundColor = "green";
});
Я пытался добавить какой-то стиль (зеленый цвет фона) к элементам div на html-странице, используя все возможные способы. Все вышеперечисленные попытки (я также пробовал их одну за другой, чтобы увидеть, работает ли какая-либо из них независимо) дали одинаковые результаты, эквивалентные: <div id="somedivid" style="">
Интересно, является ли это ошибкой, поскольку он не записывает в него какой-либо стиль (всегда пустой внутри кавычек), но добавляет атрибут стиля, когда у этих div не было его раньше, если вы проверите исходный документ. Однако добавление класса sel, который я создал вручную, вверху страницы в пользовательском блоке стиля css, работает именно так, как вы думаете. Проблема в том, что я действительно хочу иметь возможность динамически изменять стиль отдельных объектов при использовании jsdom. У кого-нибудь есть идеи, это ошибка или я что-то упустил?
Кстати, этот код работает в обычном браузере, работающем со стандартным jquery, как и ожидалось, так что, похоже, это каким-то образом реализация jsdom.