jQueryを勉強しています。下記のようなコードを書いており、イメージとしてはpppStringをslideUp()させたいのですが動きません。文法が間違っているのでしょうか?


<p id ="p1">p1String
<p class ="ppp">
pppString
</p>
</p>

-----------------------

$(function(){
$("#p1").click(function(){
var obj1 = $(".ppp", this);
obj1.slideUp();
});
});

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/11/13 09:41:53
  • 終了:2011/11/13 11:49:13

ベストアンサー

id:Lhankor_Mhy No.1

Lhankor_Mhy回答回数779ベストアンサー獲得回数2302011/11/13 10:30:32

ブラウザによってはそのままでも動作しそうな気がしますが、

<p id ="p1">

<div id ="p1">

に変えれば動作すると思います。

他1件のコメントを見る
id:Lhankor_Mhy

自分はそこまで確認してませんでした。
たぶん、p要素が内部にブロック要素を持たないのがHTMLの仕様だからではないかと。おそらく、document.getElementById('p1').childNodes を見るとテキストノードしかもっていないと思います。
ただ、HTMLからのDOM解釈によると思うので、「ブラウザによっては」と回答した次第です。

2011/11/13 11:10:23
id:koime_ryokutya

動作しました!うーん、奥が深いですね。。ありがとうございます。

2011/11/13 11:49:06

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

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

トラックバック

  • jQuery で、P 要素を取得する javascriptの事で教えてください。 1 2 3 4 このようなラジオボタンが有り、チェックが入った際に、 ・div.html1に予め指定した文言を表示 ・div.html2にvalueの値を出力
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

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

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