idとname

タグに名前をつけるための属性としてid属性name属性の2種類があります。この名前を使って、そのタグが生成するオブジェクトにアクセスすることができます。

idとnameの違い

idname
意味一つのLZXソースで一つのみ。同一階層内で一つのみ。階層が異なればLZXソース内で同じ名前を使っても良い。
アクセス方法id名のみでソースのどこからでも直指定可能。階層構造に従った相対パス指定。

<canvas>直下のタグのname属性

<canvas>直下のタグのname属性に関しては、id属性を使ったときと同じように直接指定できます。

記述例

下記のソースにある3つのボタンA、B、Cは、すべて赤四角v2のanmを指定して一回転(onclick属性内の記述のことです)させています。そのanmにアクセスするために、3通りの指定をしています。

ボタンA・・・ onclick="parent.parent.v2.anm.doStart();"
ボタンB・・・ onclick="canvas.v.v.v2.anm.doStart();"
ボタンC・・・ onclick="v.v.v2.anm.doStart();"
  • ボタンA ・・・ 相対パス指定。2つ上にあがって(parent.parent)から下がります。
  • ボタンB ・・・ <canvas>からのフルパスで指定。
  • ボタンC ・・・ <canvas>直下のタグのname属性は直指定できる、の例。
<?xml version="1.0" encoding="UTF-8"?>
<canvas proxied="false" bgcolor="0xeeeeee"> 
  <view name="v" width="300" height="300" bgcolor="0xff00ff">
     <simplelayout spacing="10" axis="x"/>
     <view name="v" width="200" height="100" bgcolor="0xffcccc">
        <simplelayout spacing="30" />
        <view name="v1">
           <simplelayout spacing="10" axis="x"/>
           <button onclick="parent.parent.v2.anm.doStart();">A</button>
           <button onclick="canvas.v.v.v2.anm.doStart();">B</button>
           <button onclick="v.v.v2.anm.doStart();">C</button>
        </view>
        <view name="v2" align="center" width="30" height="30" bgcolor="0xff0000">
           <animator name="anm" attribute="rotation" 
                     from="0" to="360" duration="500" start="false"/>
        </view>
     </view>
  </view>
</canvas>

この内容を表示するためには Adobe Flash Plugin が必要です。

一方、id属性で名づければ(id=“anm”)、パスは必要なく、anm.doStart(); 一発ですみます。

<?xml version="1.0" encoding="UTF-8"?>
<canvas proxied="false" bgcolor="0xeeeeee"> 
  <view name="v" width="300" height="300" bgcolor="0xff00ff">
     <simplelayout spacing="10" axis="x"/>
     <view name="v" width="200" height="100" bgcolor="0xffcccc">
        <simplelayout spacing="30" />
        <view name="v1">
           <simplelayout spacing="10" axis="x"/>
           <button onclick="anm.doStart();">A</button>
           <button onclick="anm.doStart();">B</button>
           <button onclick="anm.doStart();">C</button>
        </view>
        <view name="v2" align="center" width="30" height="30" bgcolor="0xff0000">
           <animator id="anm" attribute="rotation" 
                     from="0" to="360" duration="500" start="false"/>
        </view>
     </view>
  </view>
</canvas>

idとnameの使い分け

複数の開発者でいくつものソースを作って大きなアプリを作る場合、オブジェクト名の重複による不具合を避けるために、nameだけを使うほうが望ましいでしょう。個人で作る小さなアプリなら、パス指定の簡便さのメリットもありidで良いです。

idとname.txt · 最終更新: 2011/01/20 02:07 by ason
Copyright © 2008~ずっと ason(minamotonoason@gmail.com)

chuumap 中小企業ツイッターマップ 製造、加工、卸などB2B主体の個人事業者、中小企業のツイッターを、グーグルマップの住所の位置に正確に表示。
tentwi 店舗でツイート 飲食店、販売店など、一般消費者向けの店舗を構えるお店ツイッターを、グーグルマップの住所の位置に正確に表示。
廃句ったー あなたのツイッターの最近のツイートから廃句もとい俳句を生成。
みかけったー 超人気!あなたのツイッターの最近のツイートからみかけの年齢と性別を診断。
キキキーったー 最近のツイートからキーの使用回数をしらべます。
SLOTTER(すろったー) あなたのツイッターのタイムラインのアイコンでスロット。FLASHゲーム。
MultiLangTweet 一度に48ヶ国語に翻訳してツイート。
英訳ったー 英訳または日本語訳してツイート。
バンドメンバー募集サイト シンプルなバンドメンバー募集サイト。
CMS総合デモサイト 有名オープンソースCMS、EC、SNS、Wikiを一度に全部体験できる総合デモサイト
ビズロック BizRock(ビズロック)~音楽ライブでプレゼン!情熱型ビジネス交流会