node.js サーバーで jdom と jquery を使用しており、次のコードで次の奇妙な動作を観察しました。
var divs = window.$('div').each(function() {
//console.log(" -", $(this));
$(this).css('background-color','green');
$(this).addClass('sel');
this.style.backgroundColor = "green";
});
考えられるあらゆる方法を使用して、html ページの div に何らかのスタイル (背景色から緑) を追加しようとしました。上記の試みはすべて(私もそれらのいずれかが独立して機能するかどうかを確認するために1つずつ試しました)、次のような同じ結果を生成しました:<div id="somedivid" style="">
スタイルは書き込まれませんが (引用符内は常に空です)、元のドキュメントを確認すると、これらの div にスタイル属性がなかった場合にスタイル属性が追加されるため、これはバグでしょうか。カスタムCSSスタイルブロックのページの上部に手動で作成したクラスselを追加すると、機能しますが、あなたがそうすべきだと思うのとまったく同じです。問題は、jsdom の使用中に個々のオブジェクトのスタイルを動的に変更できるようにしたいということです。これがバグなのか、何か見落としているのか、誰にもアイデアがありますか?
ちなみに、このコードは標準のjqueryを実行している通常のブラウザでも問題なく動作するので、なんとなくjsdomの実装になりそうです。