タグ

DOMとJScriptに関するmhrsのブックマーク (3)

  • IE の getAttribute / setAttribute: Days on the Moon

    DOM の getAttribute / setAttribute メソッドは DOM Level 1 から定義されているメソッドで、MSDN Library によれば IE はバージョン 4 からサポートしています。しかし、IE での element.getAttribute(name) / element.setAttribute(name, value) というのは、基的には JavaScript における element[name] / element[name] = value のシンタックスシュガーでしかありません。ですから、element.setAttribute("innerHTML", "foo") とすると、element の属性には何の変化もないが element の内容が書き換えられるという事態になります。 この (手抜き) 実装が原因で、getAttribute

    mhrs
    mhrs 2007/05/14
    「getAttribute / setAttribute で class 、style 、イベント属性などを操作できないというバグが IE に」
  • DOM Level 2/3 標準技術をMSIEで使う(XML読み込みとXPath) @ ぽかぽかWeb研究室

    XML 文書読み込みの準備 XML 文書を読み込んで DOM オブジェクトとして扱うためには、 MSIE では ActiveXObject, Mozilla では createDocument() メソッドを使い、 XML 文書を格納するための「箱」を用意する必要があります。 来はMSIE/Mozilla いずれでも document.implementation.createDocument が使えるようにすれば良いのですが、 イベント定義の時と同様の方法は使えないため、ここでは、次善策として、 document.Implementation.createDocument() メソッドが使えるようにしたいと思います。 注意 MSXML 2.5 以前(WinIE 5.5SP2以前に同梱)では XPath がフルサポートされていないため、(関数を用いた)複雑なXPathを使おうとするとスク

  • DOM Level 2 標準技術をMSIEで使う(イベント、基本操作) @ ぽかぽかWeb研究室

    はじめに HTML/XML文書を動的に制馭するするためにはDOMが用いられることが多いわけですが、ことに X(HT)ML を取り扱う上では、どうしても DOM Level 1 の範囲だけでは力不足です。また、イベント制馭は Level 1では定義されていません。 MSIE では、基的には DOM Level 1 までのサポートに留まっています。それ以外の振舞は独自規格で賄われているのが現状で、このことが、「処理系に依存しない記述」を妨げる原因にもなっています。 Mozilla/Netscape では、 (XHTML文書も含めて)XMLとして認識された文書では、名前空間が重要な役割を果たします。例えば、 XHTML の要素を正しく作成するためには createElementNSが必要になりますが、これは MSIE では認識されません。 具体的な方法 ここでは、 JavaScript(ECM

    mhrs
    mhrs 2007/05/06
    addEventListener(), removeEventListener(), createElementNS()をIEで實裝する例。
  • 1