prototype js の質問です。

tag名の指定のオブジェクトで、FireFox 3.0.1 だと$ のメソッドが使えないみたいです。下記のコメントアウトしている部分です。こういった仕様なのでしょうか? タグでしか指定できないオブジェクトに対して$のメソッドが使えるととても便利なのですが、無理なのでしょうか?

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title id="5">prototype のテストです。</title>
<script src="prototype-1.6.0.2.js"></script>
</head>
<body>


<div id="test">
<h1>test</h1>
</div>
<script>
t = document.getElementsByTagName('div');
//alert($(t).empty());
alert($('test').empty());
</script>
</body>
</html>

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/10/27 12:28:32
  • 終了:2008/10/27 14:59:02

ベストアンサー

id:sheile No.1

Sheile回答回数45ベストアンサー獲得回数162008/10/27 13:31:59

ポイント65pt

prototype.jsの問題ではなく、$に渡す引数の問題ですね。


document.getElementsByTagName('div');

は、divタグが複数ある場合に備えて、HTMLCollectionを返すようになっている為、$に渡す場合には添え字を指定してやる必要があります。

t = document.getElementsByTagName('div')[0];
alert($(t).empty());

で問題なく動くかと思います。


Firefox 3.0.3にて動作確認


URLはダミーです。

http://q.hatena.ne.jp/

id:isogaya

ありがとうございます。

2008/10/27 14:58:20

その他の回答(1件)

id:sheile No.1

Sheile回答回数45ベストアンサー獲得回数162008/10/27 13:31:59ここでベストアンサー

ポイント65pt

prototype.jsの問題ではなく、$に渡す引数の問題ですね。


document.getElementsByTagName('div');

は、divタグが複数ある場合に備えて、HTMLCollectionを返すようになっている為、$に渡す場合には添え字を指定してやる必要があります。

t = document.getElementsByTagName('div')[0];
alert($(t).empty());

で問題なく動くかと思います。


Firefox 3.0.3にて動作確認


URLはダミーです。

http://q.hatena.ne.jp/

id:isogaya

ありがとうございます。

2008/10/27 14:58:20
id:tukihatu No.2

牛乳先生(tukihatu)回答回数180ベストアンサー獲得回数322008/10/27 13:43:57

ポイント5pt

fox3でもjqueryの$は動きます。確認済みです。


動かないのはおそらく別の理由でしょう。

http://blog.hansode.org/archives/51515866.html

たとえば↑とか

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません