ColorAnimが動かない;XMLSerializerでDOMの中身を確認する
以前から連載しているYUI2.6.0のサンプルだが、もたもたしているうちに2.7.0がダウンロードできるようになった。
element.jsがbetaからstableになったようで、element-beta.jsはelement.jsに変更しなくてはならない。
大体動くように見えるのだが、YAHOO.util.ColorAnimに少々手こずっている。
APIドキュメントを見ると、第1引数にHTMLElementを指定するようになっているのだが、HTMLTableRowElement(HTMLElementの子供)を指定してもうまくいかない。ためしに、HTMLTableCellElementを指定した場合には、アニメーションできるようだ。
以前に作った、このサンプル(YUI;DataTable Control: Complex Example of Multiple Features)が問題なのだが、2.6.0のときには、変更可能な列を更新すると、更新した行の色が変わるようになっていた。
このエフェクトが現れない。
ちなみに、YUIのOfficial Exampleでも、このエフェクトがでない。
Inline Editのテーブルは、仕様が少し変わったように思われるのだが、どっかに書いてあるのか??
コードは
var rowColorAnim = new YAHOO.util.ColorAnim(elRow, ...
となっていて(詳細は、以前のログを参照ください)、elRowをYAHOO.lang.dump()でダンプすると、HTMLTableRowElementであるとでてくる。
(2.6.0の時のコードは、elRow.cellsなのだが、理屈的にはいけそうな気がする)
じゃぁ、ちゃんとDOMが取れているのか、ということだと、Mozilla(Firefox)に組み込まれている、XMLSerializerがとても便利。
var s = new XMLSerializer() var str = s.serializeToString(elRow); alert(str);
ちゃんと取れてるように見えるが。。。。