javascriptダイナミックジェネレーションテーブル̴


javascriptダイナミックジェネレーションテーブル̴
一回の通訳技術は文章です.自分は英語が下手です.翻訳も始めたばかりの勉強しますの技術ですから、英語を無理に読めるなら、できるだけテキストを読んでください.誤訳されないようにしてください.原文を読むプロファイルこの記事は、DOM 1.0のいくつかの基本的で強力な方法とJavaScriptの使い方を簡単に紹介しています.どのように動的にHTML要素を作成、取得、制御、削除するかを学ぶことができます.これらのDOM法はXMLにも適用できる.すべての全面的なサポートDOM 1.0のブラウザは、この記事の実例をうまく実行できます.例えば、IE 5、Firefoxなどです.概況-Sample 1.この文章は実例コードを通してDOMを紹介します.次のHTML例を試してから始めてください.それはDOM 1の方法を使ってJavaScriptによって動的にHTML表を作成します.テキストの内容を含む4つのセルから成る表を作成します.セルのテキストの内容は、「セルはy行のx列目」で、セルの表内の行数と列数を表します.
<html>
<head>
<title>     -   JavaScript DOM  HTML  </title>
<script>
functionstart(){
//  body  
varmybody=document.getElementsByTagName("body")[0];

//     <table>     <tbody>  
mytable=document.createElement("table");
mytablebody=document.createElement("tbody");

//        
for(varj=0;j<2;j++){
  //     <tr>  
  mycurrent_row=document.createElement("tr");
  for(vari=0;i<2;i++){
  //     <td>  
  mycurrent_cell=document.createElement("td");
  //        
  currenttext=document.createTextNode("     "+j+" , "+i+" ");
  //            <td> 
  mycurrent_cell.appendChild(currenttext);
  //   <td>    <tr>
  mycurrent_row.appendChild(mycurrent_cell);
  }
  //   <tr>   <tbody>
  mytablebody.appendChild(mycurrent_row);
}
//  <tbody>   <table>
mytable.appendChild(mytablebody);
// <table>   <body>
mybody.appendChild(mytable);
//    mytable border     2
mytable.setAttribute("border","2");
}
</script>
</head>
<bodyonload="start()">
</body>
</html>
 各要素とテキストノードの順序を作成します.
1.<テーブル>要素を作成する
2.<テーブル>を作成するサブ要素
3.ループを使ってのサブ要素を作成します.
4.各にループを使ってサブ要素を作成する
5.ごとにテキストノードを作成します.
作成が完了しました.<テーブル>、、、要素とテキストノードは逆の順序でそれぞれ自分の親ノードに追加します.1.作成したテキストノードをに追加します.
mycurrent_セル
...
apendChild
(
currenttext
)
;
2.列を行に追加します.
mycurrent_row
...
apendChild
(
mycurrent ucell
)
;
3.行をに追加します.
mytablebody
...
apendChild
(
mycurrent urow
)
;
4.を<テーブル>に追加する
mytable
...
apendChild
(
mytablebody
)
;
5.<テーブル>をに追加する
mybody
...
apendChild
(
mytable
)
;
この方法を覚えてください.W 3 C DOMを使うとよく使います.まず、上から下に元素を作ります.次に、親ノードに下から上にそれらを追加します.これはJavaScriptコードが生成したHTMLです.

<>
テーブル
border
を選択します.
5
>
<>
tr
><
td
>
セルは0行目、0列目です.
td
><
td
>
セルは0行目、1列目です.
td
>tr
>
<>
tr
><
td
>
セルは1行目、0列目です.
td
><
td
>
セルは1行目、1列目です.
td
>tr
>
テーブル
>

これはコード生成された表要素とそのサブ元素のDOMオブジェクトツリーです.少量のDOM法を使うだけで、このような表と彼のサブ元素を構築することができます.常にあなたが作成する構造の模型樹を覚えてください.コードの作成がより簡単になります.図の「テーブル」の木には、「テーブル」のサブ要素があります.tbodyは2つのサブ要素があります.tbodyの各サブ要素()には2つのサブ要素があります.最後に、各にはテキストノードがある.基本的なDOM方法-Sample 2.html getElementByTagName法は文書と要素に適用されているので、文書のルートオブジェクトはすべての要素オブジェクトと同じようにgetElementByTagName方法があります.element.getElements ByTagNameを使用して、ある要素のすべてのサブ要素のリストを取得し、タグ名を使ってそれらを選択します.element.getElementsByTagNameは、特定の署名があるサブ要素のリストを返します.このサブ要素リストから要素を取得するには、itemメソッド(indexパラメータを渡す)を呼び出しても良いです.リストの最初のサブ要素のindexは0です.次のテーマは前のテーブルの例を続けます.以下の例はより簡単で、いくつかの基本的な方法を示している.
<>
html
>
<>
ヘッド
>
<>
title
>
実例コード-JavaScriptとDOMを使ってHTML表を作成する
title
>
<>
スクリプト
>
機能
start
()
{
//すべてのbody要素を含むリストを取得します.
//そしてリストの最初の要素を選択します.
myBody
を選択します.
document
...
getElements ByTagName
(

body

)
0

;
//bodyワード要素のすべてのp要素を取得します.
myBody Elements
を選択します.
myBody
...
getElements ByTagName
(

p

)
;
//p要素リストの2番目の要素(索引は0から開始)を取得します.
myP
を選択します.
myBody Elements

1

;
)
スクリプト
>
ヘッド
>
<>
body
onload
を選択します.

start()

>
<>
p
>
hi
p
>
<>
p
>
ハロー
p
>
body
>
html
>
この例では、myP変数をbodyの中で2番目のp元素を表すDOMオブジェクトに設定します.1.すべてのbody要素を含むリストを取得します.
myBody
を選択します.
document
...
getElements ByTagName
(

body

)
0

;
有効なファイルは一つのbody要素しかないので、このリストは一つだけです.[0]リストの最初の要素を選択することで得られます.2.ブログのサブ要素の中のp要素をすべて取得する
myBody Elements
を選択します.
myBody
...
getElements ByTagName
(

p

)
;
3.p要素リストの第二項を選択します.
myP
を選択します.
myBody Elements

1

;
html元素のDOMオブジェクトを得ると、そのプロパティを設定することができます.例えば、style.backgroundカラー属性を設定したいなら、追加するだけでいいです.
myP
...
スタイル
...
background
を選択します.

rgb(255,0,0)

;
document.creat Text Node(".")を使ってテキストノードを作成し、文書オブジェクトを使ってcreateText Nodeを呼び出してテキストノードを作成します.テキストの内容を入力するだけです.戻り値は、このテキストノードを表すオブジェクトです.
myText Node
を選択します.
document
...
createText Node
(

ワールド

)
;
以上のコードで作成したテキストデータは「ワード」のTEXT_です.NODEタイプ(テキストブロック)ノードは、変数myTextNodeがこのノードオブジェクトを指す.このテキストノードはその他ノード要素のバイトポイントを設定して、このテキストをあなたのhtmlページに挿入する必要があります.apendChild(.)を使用して要素を挿入するので、myP.apendChildを呼び出すことにより、このテキストノードは第二のp要素のバイトポイントに設定されます.
myP
...
apendChild
(
myText Node
)
;
テストこの例では、「ハロー」と「world」の2つの語がつながっていることに注意してください.したがって、参照してください.このページを見たとき、2つのテキストノードhelloとworldはノードのように見えますが、実際にはこの文書モデルには2つのノードがあります.二つ目のノードは新しいTEXT_です.NODEタイプノードは、2番目のpラベルの2番目のバイトポイントです.図は文書ツリーに作成されたばかりのテキストノードを示しています.
createText NodeとapendChildはハローとworldの間にスペースを入れる簡単な方法です.特に注意する必要があるのは、apendChild方法が最後のサブノードの後に追加されるように、worldがハローの後に追加されることである.したがって、helloとworldの間にテキストノードを追加するには、apendChildではなくinsertBefore方法を使用する必要があります.
ソース:http://www.51testing.com/?uid-195689-actionn-view space-intemid-13377