みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

jqueryの構文について

はじめまして、最近jqueryの勉強を始めました。
セレクタを変数で指定した場合の子要素の取得の仕方がわからず、困っています。
アドバイスいただけませんか?

<html>
<head>
<title></title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$("#next").click(function () {
//下のように書いてみたのですが動きません。
var next_slide = $("#slide01").next();
$(next_slide).text("hoge");//これは動きます
var img_url = $(next_slide > a).attr("href");//エラーを起こします
alert(img_url);
return false;
});
});
</script>
</head>
<body>
<ul>
<li id="slide01"><a href="url01">スライド01</a></li>
<li id="slide02"><a href="url02">スライド02</a></li>
<li id="slide03"><a href="url03">スライド03</a></li>
</ul>
<a href="#" id="next">次へ</a>
</body>
</html>


要は次の要素の子要素にアクセスしたいのです。
ご教授のほどよろしくお願いしますm(_ _)m

投稿日時 - 2011-05-28 20:18:50

QNo.6770157

困ってます

質問者が選んだベストアンサー

>var img_url = $(next_slide > a).attr("href");
以下に変更したらどうでしょう。
var img_url = $('a',next_slide).attr("href");

しかし、前の処理で、
>$(next_slide).text("hoge");//これは動きます
がされているので、要素に入っているAタグはありません。
※この時点で、<li id="slide02">hoge</li>
ですから、結果はundefinedになるでしょう。

投稿日時 - 2011-05-28 23:00:09

お礼

ありがとうございます!いけました。
//これは動きます の行は検証のために入れたものなので関係ありませんでした。紛らわしくてすみません。

そんな書き方あったんですね!ありがとうございます!

投稿日時 - 2011-05-28 23:30:54

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問