私はscalajsを試していますが、org.scalajs.dom.htmlパッケージを使用してDOM要素にアクセスする方法についてはかなり混乱しています。 試行錯誤の結果、私はいくつかの要素がasInstanceOf
を使用して特定の型にキャストされる必要があることを発見しましたが、いくつかはそうではありません。いつどこでasInstanceOf
を使用する必要があるのかに関する一般的なルールはありますか?asInstanceOfをいつ使用しますか?
例えば、のinput
という要素があるとします。
val content = document.getElementById("myinput").asInstanceOf[html.Input].value
しかし、それは時間がでcontent
を表示するために来るとき、私は上asInstanceOf
を使用しなかったとき、私のID contentdiv
のdiv
、コンパイラは文句なかった:私はasInstanceOf
を使用する必要がある入力の値にアクセスするためには、 div
要素:
val mydiv = document.getElementById("contentdiv")
mydiv.innerHTML = content
はまた、ボーナスとして実際のHTML要素にすべての可能なasInstanceOf
引数とそれらのマッピングを見つけるための中心的な場所がありますか?あなたはDOMElement
背中を取得し、あなたがそれを実行できるだけの操作がinnerHTML
あるgetElementById
呼び出すたび
興味深い。 innerHTMLとappendChildについて特別なのは、他の人が含まれていない場所に含まれているということですか?これらの2つは、DOM要素の世界のプロトタイプチェーンで最も一般的なメソッドの可能なセットですか? – thetrystero
いいえ、他にもたくさんあります:https://github.com/scala-js/scala-js-dom/blob/master/src/main/scala/org/scalajs/dom/raw/Html.scala #L3736ここでの答えは、答えを簡潔にするためにいくつか述べました。 – sjrd
@sjrdがチンミングしてくれてありがとうございます。簡単な質問ですが、ライブラリに実際のDOMElement定義が見つかりませんでした(私が投稿したものは、リバーシの例です)。私は何が欠けていますか? –