SSブログ
JavaScript ブログトップ
前の10件 | -

Document(HTMLDocument) [JavaScript]

◆Document(HTMLDocument) クラス

JavaScript DocumentHTMLDocument) クラスは、ウィンドウ内外のドキュメント(文書)インスタンスを制御します。

ウィンドウであれば、それがきちんとした画面だろうと、ダイアログだろうと、そして準備されているだけで表示されていないウィンドウであろうと、その WindowDOMWindow) クラス インスタンス window のプロパティ document として、必ずそのウィンドウ用の HTMLDocument クラス インスタンスが存在します。

以下には、そのメンバを機械的に抽出した結果を、インデックスとしてまとめてあります。

調査対象のブラウザは、Internet Explorer 8Firefox 3.6.13Opera 11.00Safari 5.0.3Google Chrome 8.0.552.224 です。

5つほど、お断りです。

1)長いです
機械的にメンバを抽出してみたら、213ありました。
これを全部羅列してるので、長いです;;;。

2)これで全部のメンバを網羅できているとは限りません
機械的にメンバを抽出したんですが、当然あるべき toString などが見当たりません。
従って、これで全部のメンバを網羅できているとは限りません。

3)全部調べるつもりはありません
213もあるとは思いませんでした。
全部調べていたら、ひとりで調べてる間に死んでしまいそうです;;;。

4)プロパティ、メソッド、イベントが混在しています
このインデックスでは、プロパティ、メソッド、イベントが混在しています。
この点については、掘り下げていくうちに、整理したいです。

5)調査対象は HTMLDocument です

このインデックスでは、HTMLDocument クラス インスタンスを機械的に調査しました。
俺の中では、Document クラスと HTMLDocument クラスは異なるものと認識しています。
この点については、掘り下げていくうちに、インデックスを分けるかもしれません。

なお、よく使うメンバや、定型処理などについては、長くなるので別エントリーにまとめます。

それでは、参ります。

続きを読む


Window(DOMWindow) [JavaScript]

◆Window(DOMWindow) クラス

JavaScript WindowDOMWindow) クラスは、ウィンドウ インスタンスを制御します。

ウィンドウであれば、それがきちんとした画面だろうと、ダイアログだろうと、そして準備されているだけで表示されていないウィンドウであろうと、必ずこの WindowDOMWindow) クラス インスタンスが、ひとつ以上存在します。

以下には、そのメンバを機械的に抽出した結果を、インデックスとしてまとめてあります。

調査対象のブラウザは、Internet Explorer 8Firefox 3.6.13Opera 11.00Safari 5.0.3Google Chrome 8.0.552.224 です。

5つほど、お断りです。

1)長いです
機械的にメンバを抽出してみたら、515ありました。
これを全部羅列してるので、長いです;;;。

2)これで全部のメンバを網羅できているとは限りません
機械的にメンバを抽出したんですが、当然あるべき toString などが見当たりません。
従って、これで全部のメンバを網羅できているとは限りません。

3)全部調べるつもりはありません
515もあるとは思いませんでした。
全部調べていたら、ひとりで調べてる間に死んでしまいそうです;;;。

4)プロパティ、メソッド、イベントが混在しています
このインデックスでは、プロパティ、メソッド、イベントが混在しています。
この点については、掘り下げていくうちに、整理したいです。

5)Window と DOMWindow が混在しています

このインデックスでは、Window クラスと DOMWindow クラスが混在しています。
正直、Window クラスと DOMWindow クラスでは、ちょっと差が大きいです。
この点については、掘り下げていくうちに、インデックスを分けるかもしれません。

なお、よく使うメンバや、ライフサイクルなどについては、長くなるので別エントリーにまとめます。

それでは、参ります。

続きを読む


confirm [JavaScript]

window.confirm メソッド

boolean = window.confirm(string);

こいつもすっかり忘れてた;;;。

【告知】
マシントラブルがあり、しばらく更新できませんでした。
申し訳ありません。
とりあえずの対処はしたので、今後は様子を見てみます。

ポップアップ ダイアログに、引数 string で示される文字列を表示します。

ポップアップされるのはモーダル ダイアログなので、この confirm の表示期間は、スクリプト実行が停止します。

表示されるダイアログには、文字列の他に、[OK] ボタンと [キャンセル] ボタンがあります。

ユーザーがどちらかのボタンを押すと confirm を抜け、スクリプト実行が再開されます。

confirm は、ユーザーによってどちらのボタンが押されたかを、boolean 値で返します。

[OK] ボタンが押された場合は true、[キャンセル] ボタンが押された場合は false が返ってきます。

window インスタンス スコープで、実行したい window が同じインスタンスの場合は、window を省略し、単に confirm(string); と記述するのが通例です。

制御文字('\n' での改行や '\t' での字下げ、'\' でのシングルクォートやダブルクォートのエスケープ)も使用可能です。

(ソネブロでは '¥' の半角が '\' と表示されるので、上記の '\' は '¥' の半角です)

続きを読む


alert [JavaScript]

window.alert メソッド

window.alert(string);

オラ、すっごく大事な「こいつ」を忘れてた気がするだ。

ポップアップ ダイアログに、引数 string で示される文字列を表示します。

ポップアップされるのはモーダル ダイアログなので、この alert の表示期間は、スクリプト実行が停止します。

表示されるダイアログには、文字列の他に、[OK] ボタンがあり、ユーザーが [OK] ボタンを押すと alert を抜け、スクリプト実行が再開されます。

window インスタンス スコープで、実行したい window が同じインスタンスの場合は、window を省略し、単に alert(string); と記述するのが通例です。

制御文字('\n' での改行や '\t' での字下げ、'\' でのシングルクォートやダブルクォートのエスケープ等)も使用可能です。

(ソネブロでは '¥' の半角が '\' と表示されるので、上記の '\' は '¥' の半角です)

続きを読む


all [JavaScript]

document.all プロパティ/メソッド

  1. collection = document.all;
  2. allcollection = document.all;
  3. element = document.all.id;
  4. element = document.all[index];
  5. element = document.all[id];
  6. collection = document.all[name];
  7. nodelist = document.all[name];
  8. element = document.all(index);
  9. element = document.all(id);
  10. element = document.all(name);
  11. collection = document.all(name);
  12. nodelist = document.all(name);

なんじゃこら。

形をピックアップするだけでも大変だわ。

指定された DOM(Document Object Model) 形式のドキュメント document に対して、以下の動作をします。

  1. Internet ExplorerOpera がこの形。document 内のすべてのエレメントに対する Element クラス(またはそのサブクラス)のコレクション collection HTMLCollection)を返す。ただし、Internet ExplorerOpera では、格納されている情報が異なる場合があるので、要注意。
  2. SafariGoogle Chrome がこの形。document 内のすべてのエレメントに対する Element クラス(またはそのサブクラス)のコレクション allcollection HTMLAllCollection)を返す。
  3. id プロパティが id であるエレメントへの参照 element を返す。
  4. document 内のインデックス値が index であるエレメントへの参照 element を返す。ただし、Internet Explorer と他のブラウザでは、格納されている情報が異なる場合があるので、要注意。
  5. id プロパティが指標値(文字列) id であるエレメントへの参照 element を返す。
  6. Internet ExplorerOpera がこの形。name プロパティが指標値(文字列) name の複数のエレメントのコレクション collection HTMLCollection)を返す。
  7. SafariGoogle Chrome がこの形。name プロパティが指標値(文字列) name の複数のエレメントのノードリスト nodelist NodeList)を返す。
  8. document 内のインデックス値が index であるエレメントへの参照 element を返す。ただし、Internet Explorer と他のブラウザでは、格納されている情報が異なる場合があるので、要注意。
  9. id プロパティが引数(文字列) id であるエレメントへの参照 element を返す。
  10. Internet Explorer のみ、この形。name プロパティが引数(文字列) name のうち、最初のエレメントの参照 element を返す(模様)。
  11. Opera のみ、この形。name プロパティが引数(文字列) name の複数のエレメントのコレクション collection HTMLCollection)を返す。
  12. SafariGoogle Chrome がこの形。name プロパティが引数(文字列) name の複数のエレメントのノードリスト nodelist NodeList)を返す。

Firefox 系は動きません。

Firefox くらい、態度がはっきりしててくれると、まだ助かるんだけどね。

なんなの? このブラウザごとのバラバラ加減。

はっきり言って、こういう存在は、JavaScript の「癌」です。

【追記】 2010/12/29 22:03 検証したブラウザのバージョンを追記します。
Internet Explorer 8Firefox 3.6.13Opera 11.00Safari 5.0.3Google Chrome 8.0.552.224

続きを読む


getElementsByName [JavaScript]

document.getElementsByName メソッド

collection = document.getElementsByName(name);
nodelist = document.getElementsByName(name);

指定された DOM(Document Object Model) 形式のドキュメント document から、name プロパティが引数(文字列)name であるエレメントに対する Element クラス(またはそのサブクラス)のコレクション collection、またはノードリスト nodelist を返します。

該当するインスタンスが存在しない場合、null ではなく、空のコレクション collection、または空のノードリスト nodelist を返します。

HTML では、ボタンやテキストボックスといったコントロールは、そのエレメントごとに name プロパティで「名前」を付けることができますが、name プロパティはひとつのドキュメント内でユニークである必要はありません。ひとつのドキュメント内で、複数のエレメントで name プロパティが重複しても、大丈夫なわけです。

従って、document.getElementsByName(name) メソッドは、指定された name プロパティを持つコントロール群を、一度に返せるような戻り値を返します。

だから、ユニークな id プロパティでエレメントを探すメソッドが getElementById(単数形)なのに対して、name プロパティでエレメントを探すこのメソッドの名前は getElementsByName(複数形)なんですね。

問題の戻り値のインスタンスなんですが、ブラウザ依存です(またかよ・・・・・・)

Internet Explorer 8Firefox 3.6.13 では、戻り値が HTMLCollection というオブジェクト インスタンスで返ってきます。

一方、Opera 11.00Safari 5.0.3Google Chrome 8.0.552.224 では、戻り値が NodeList というオブジェクト インスタンスで返ってきます。

いずれ HTMLCollectionNodeList もエントリーにしますが、あんまり便利な代物じゃありません。

続きを読む


getElementsByTagName [JavaScript]

document.getElementsByTagName メソッド

collection = document.getElementsByTagName(tagname);
nodelist = document.getElementsByTagName(tagname);

指定された DOM(Document Object Model) 形式のドキュメント document から、tagName プロパティが引数(文字列)tagname であるエレメントに対する、Element クラス(またはそのサブクラス)のコレクション collection、またはノードリスト nodelist を返します。

タグ名ですから、getElementsByTagName('a'); とか、getElementsByTagName('body'); なんてこともできちゃいます。

該当するインスタンスが存在しない場合、null ではなく、空のコレクション collection、または空のノードリスト nodelist を返します。

HTML では、ボタンやテキストボックスといったコントロールは、その種類のエレメントごとに「HTML タグ」が決められており、同一のタグを持つコントロールは、ひとつの document 内に複数存在する可能性があります。

従って、document.getElementsByTagName(tagname) メソッドは、指定されたタグ名のコントロール群を、一度に返せるような戻り値を返します。

だから、ユニークな id プロパティでエレメントを探すメソッドが getElementById(単数形)なのに対して、tagName プロパティで探すこのメソッドの名前は getElementsByTagName(複数形)なんですね。

こいつは Ajax などで、かなりいい加減にサーバーから送信した XML でも、XMLHttpObject オブジェクト インスタンスの responseXML プロパティで受け取った DOM オブジェエクトを、きちんとフィールドごとの Element としてピックアップしてくれるので、かなり重宝します。

問題の戻り値のインスタンスなんですが、ブラウザ依存です(また出たよ・・・・・・)

Internet Explorer 8Firefox 3.6.13 では、戻り値が HTMLCollection というオブジェクト インスタンスで返ってきます。

一方、Opera 11.00Safari 5.0.3Google Chrome 8.0.552.224 では、戻り値が NodeList というオブジェクト インスタンスで返ってきます。

HTMLCollectionNodeList もいずれエントリーにしますが、あんまり便利な代物じゃありません。

続きを読む


getElementById [JavaScript]

document.getElementById メソッド

element = document.getElementById(id)

指定された DOM(Document Object Model) 形式のドキュメント document から、id プロパティが引数(文字列)id であるエレメントに対する Element クラス(またはそのサブクラス)のインスタンス参照 element を返します。

該当するエレメントが存在しない場合、null を返します。

HTML では、その document 内にある複数のエレメントが、それぞれ個別に持つ id プロパティは、必ずユニーク(=一意、つまり同じ値を持つ複数の要素の共存は許されない、という意味)でなければならないので、id が決まると、特定できるエレメントは、必ずひとつか、もしくは存在しません(該当する id プロパティを持つエレメントがない場合)。

なので、document.getElementById が返してくるエレメントのインスタンス参照は、必ずひとつか、存在しない場合は null か、このいずれかになります。

最近の JavaScript では、なんつったって、こいつがいないと、困っちゃいますね。

続きを読む


JavaScrip のクラスの多重継承(の、ようなもの) [JavaScript]

◆JavaScrip のクラスの多重継承(の、ようなもの)

俺さあ、C++ あがりだからさあ、「クラス」と聞いたら、どんな言語でも「多重継承できたらな~」って思うんですよ。

ということで、JavaScript でも試してみましょう。

「多重継承マニア」の方は、お楽しみくださいw。

続きを読む


JavaScrip のクラスの継承 [JavaScript]

◆JavaScript のクラスの継承

「クラス」が作れるんならさあ、新しいクラスを作るときに、もう使える道具を持ってるクラスから派生(継承)して、楽したいよね。

ってことで、今回は「クラスの継承」です。

以前のエントリーで、クラス ClassA を作成しました。

ここから、新しいクラスを作成します。

【注意】 2010/12/23/ 22:50 追記があります。

続きを読む


前の10件 | - JavaScript ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。