JavaScriptプログラムに関する各種メモ書き

JavaScript FAQ

2ch の FAQなんだけど、かなり良くできている。

以下に引用

【FAQその1】 
Q1. 開いた別窓/フレームの内容にアクセスできないのですが… 
A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。 


Q2. JavaScriptでローカルファイルを読み/書きたいのですが… 
A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに… 


Q3. 同じタグの中でonclick="foo()"とonclick="bar()"を同時に使いたいのですが… 
A3. セミコロンで複数の文を区切られます。onclick="foo();bar();"としましょう。 


Q4. document.write(...)でページ内容を追加したいのですが… 
A4. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。 
 部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、 
 (2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。 
 innerHTMLは非標準ですがIE、Opera、Safari、Gecko(N6/N7/Firefox等)で対応済。 


Q5. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが… 
A5. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるか 
 <div><table>...</table></div>とでもしてdivのinnerHTMLを書き換えましょう。 


Q6. DOMでtable要素にtr要素を追加しても表示されないのですが… 
A6. DOMでは(XHTML 1.x除く)tbody要素にtr要素を追加する必要があります。 
 tbody要素はtbodyタグを書いていなくても自動的に作成されます。 
 またはtable.insertRow()/tbody.insertRow()を使いましょう。 


Q7. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが… 
A7. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。 


Q8. フォーム部品名を変数にした「...myform.変数名.value」が動きません… 
A8. 「document.forms.myform.elements[変数名].value」でどぞ。 
 JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。


関連エントリー

No.541
07/30 18:11

edit