私は怠け者です。そこ!それは邪魔です。HTML:jQuery:DOM操作
私はHTMLでレンダリングしたい不定長の項目のリストを持っています。私は各アイテムの一部を見せて、それぞれのアイテムに「もっと見る」リンクをつけてアイテムの詳細を表示したいと思います。 「もっと見る」リンクは同じ機能を実装しているので、同じクリックハンドラ機能を「表示するリンク」にバインドして、非表示のテキストを含むHTMLスパンを表示します。私のコードは次のようになります:
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
</head>
<body>
<p>List of stuff</p>
<ul>
<li> One <a href="#" class="showmore_link">show more</a> <span class="showmore" style="display:none"> More about One </span></li>
<li> Tow <a href="#" class="showmore_link">show more</a> <span class="showmore" style="display:none"> More about Two </span></li>
<li> Three <a href="#" class="showmore_link">show more</a> <span class="showmore" style="display:none"> More about Three </span></li>
</ul>
<script type="text/javascript">
$(document).ready(function() {
$(".showmore_link").click(show_more_toggle);
});
show_more_toggle=function(){
$(".showmore").slideToggle();
}
</script>
</body>
</html>
「もっと見る」リンクをクリックすると、「showmore」クラスの3つのスパンがすべて表示されます。 「show_more_toggle」クリックハンドラを調整して、同じリストアイテム内のスパンのみを開くようにするにはどうすればよいですか?
CONSTRAINT:他の理由でスパンまたはリスト要素に「id」属性を使用することはできません。
"showmore_link"と親を共有するが、非公式の場合はより一般的なので、 "showmore_link"と親を共有するが、必ずしも兄弟であるとは限らないので、この解決策は私のためにはうまくいった。ありがとうございました。 –