KANTENNA.COM

Solarized

HOME > WEBプログラム覚書 > 要素名(タグ名)で要素オブジェクトを取得

要素名(タグ名)で要素オブジェクトを取得

IDではなくタグの名前でオブジェクトを取得したい場合、getElementsByTagNameを利用する。

サンプル

クリックでid="gEBTN" 内のliオブジェクトを取得してHTMLを含むliの中身をid="gEBTNresult"に書き出す。

Javascript
  1.  <script language="javascript" type="text/javascript">
  2.   function Test(){
  3.   var li = document.getElementById("gEBTN").getElementsByTagName("li");
  4.   var result = document.getElementById("gEBTNresult");
  5.   for($i=0; $i<li.length; $i++){
  6.   result.innerHTML += "<li>" + li[$i].innerHTML + "<\/li>";
  7.   }
  8.   }
  9.  </script>
HTML
  1.  <div id="gEBTN">
  2.   <ul>
  3.   <li>getElementsByTagNameのテスト</li>
  4.   <li>getElementsByTagNameのテスト2</li>
  5.   <li><span class="redbold">getElementsByTagNameのテスト3</span></li>
  6.   </ul>
  7.  </div>

実行結果

  • getElementsByTagNameのテスト
  • getElementsByTagNameのテスト2
  • getElementsByTagNameのテスト3

クリック

注意事項

getElementsByTagNameは取得要素を配列で返しますがArrayオブジェクトではないようです。lengthや添え字は使えますがメソッドが使えない・・・

なんかよくわからん・・・

2009/01/09 追記

よくわからなかったことについてなんとなく解決

getElementsByTagName()が返すのは配列ではなくNodeListオブジェクト。 プロパティはlength、メソッドはitem()をもつ読み取り専用のオブジェクト。

javascriptではNodeListオブジェクトは配列のように振舞うのでli[n]で 要素にアクセスできますがNodeListはObjectを継承しているので Arrayオブジェクトのメソッドは利用できないってことだと思う。

JavaScriptクックブック
作者:Shelley Powers | 価格:¥ 3,990

トラックバック(0)

コメント

コメントする
Name
Email Address
URL
TIME LINE
2012
02.03

[jQuery]closest()とparents()

今から16年前Netscapeブラウザのソースコードの公開方法の会議の中で、初めてオープンソースという言葉が使われた今日、 みなさんいかがお過ごしでしょうか。

今回の投稿はそれとは関係のないjQueryのparents()とclosest()が 似てたので何が違うのか試した時のメモです。

2012
02.01

[jQuery Mobile]初期化イベントメモ

jQuery Mobileは読み込まれてから

mobileinit -> pagebeforecreate -> pagecreate -> pageinit

の順番でイベントが発生する。

2012
02.01

[WordPress]管理画面のフッタのフィルタとアクション。

時間も時間なので、あまり使用頻度の高くない微妙なネタを。

会員制サイトなどで不特定多数の人にログインさせる場合、フッタのバージョン情報は隠しておきたかったり、 こじゃれたメッセージを表示したいときとか使うアクションとフィルタ。

2012
01.28

[WordPress] ブログの情報を取得する方法とノーキャッシュ疑惑

ブログのget_bloginfo()で取れないデータが必要な場合に使うもの。

2012
01.26

[jQuery Mobile]ダイアログ

jQuery Mobileにおけるダイアログの扱いはウインドウではなくページ。 なので通常のページと同様に扱える。ダイアログウインドウを出す。じゃなくダイアログページに遷移する。的な。

2012
01.25

[Ubuntu11.10]Ubuntuのインストール後の設定

インストール完了後の環境構築。PC起動時いちいちBIOSからブートドライブ選んで ブートするのかと思ってたら起動時にOS選択画面が出てくる。

すばらしいですね。

2012
01.24
2012
01.23

MinGW+Mintty+Git

MinGW+Mintty+Gitをやろうとして失敗に終わった。このエントリーには収穫できるものはありません。

2012
01.21

[PHP]共有サーバーユーザーのためのPEARインストール方法

共有サーバーでは自由にPEARのパッケージがインストールできないので、 プロジェクトローカルに設置することになりますが、以前httpベースのものを使ってみたんですけど、 やたら重くて使い物にならなかったので、僕は普通にFTPでアップするようにしてます。

ってことでプロジェクトローカルへのPEARのインストール方法。