- #import('dart:html');
- void main() {
- document.query("#status").innerHTML = "Hello World!";
- }
SVG や WebGL のインタフェースなども用意されています。
Library html
Document クラスのオブジェクトを取得する getter が定義されていて、
html_dartium.dat
- #library('html');
- ...
- Document get document() {
- if (__document == null) {
- _initialize();
- }
- return __document;
- }
id でエレメントを見つける
- document.query('#selector');
class で最初のエレメントを1つ見つける
- document.query('.classname');
class で複数のエレメントを見つける
- document.queryAll('.classname');
tag で最初のエレメントを1つ見つける
- document.query('div');
tag で複数のエレメントを見つける
- document.queryAll('div');
name で最初のエレメントを1つ見つける
- document.query('[name="form"]');
name で複数のエレメントを見つける
- document.queryAll('[name="form"]');
最初の child node を取得する
- element.nodes[0];
最初の child element を取得する
- element.elements[0];
エレメントを tag から作成
- Element element = new Element.tag('div');
エレメントを html から作成
- Element element = new Element.html('<p>html string</p>');
エレメントに子エレメントを追加
- element.elements.add(newElement);
エレメントにイベントハンドラを追加
- element.on.click.add(handleClick);
エレメントからイベントハンドラを削除
- element.on.click.remove(handleClick);
element.on は ElementEvents で例えば
- click
- doubleClick
- drag
- drop
- focus
- keyDown
- mouseDown ...
- #import('dart:html');
- void main() {
- // id でエレメント取得
- document.query("#status").innerHTML = "Find one element by id";
- // class で最初のエレメント取得
- document.query(".message").innerHTML = "Find one element by class";
- // class で複数のエレメント取得
- ElementList elements = document.queryAll(".message2");
- for(Element e in elements) {
- e.innerHTML = "Find many elements by class";
- }
- // tag で最初のエレメント取得
- document.query('h2').style.background = "#9999ff";
- // tag で複数のエレメント取得
- document.queryAll('div').forEach((Element e) {
- e.style.background = "#ccccff";
- });
- // name で最初のエレメント取得
- document.query('[name="form"]').style.background = "#ffeeee";
- // name で複数のエレメント取得
- document.queryAll('[name="form"]');
- // child nodeを取得
- Element elem = document.query("#main");
- if(!elem.nodes.isEmpty()) {
- Node node = elem.nodes[0];
- }
- // element を tag から作成
- Element element = new Element.tag('div');
- element.innerHTML = "create new an element from tag";
- // element を html から作成
- Element element2 = new Element.html('<p>create new an element from html</p>');
- // element を追加
- elem.elements.add(element);
- elem.elements.add(element2);
- // element を削除
- elem.elements[0].remove();
- // イベントハンドラ
- Element btn = document.query("#button");
- btn.on.click.add((e) {
- btn.innerHTML = "Clicked!";
- });
- }
- <!DOCTYPE html>
- <html>
- <head>
- <title>hellodart</title>
- </head>
- <body>
- <h2 id="status">dart is not running</h2>
- <div class="message"></div>
- <div class="message2"></div>
- <div class="message2"></div>
- <input name="form"></input>
- <div id="main">
- <div>First</div>
- </div>
- <div id="button">Click here!</div>
- <script type="application/dart" src="hellodart.dart"></script>
- <script src="http://dart.googlecode.com/svn/branches/bleeding_edge/dart/client/dart.js"></script>
- </body>
- </html>
0 件のコメント:
コメントを投稿