次のようなHTMLがあります。
<ul class="faq">
<li class="open">
<a class="question" href="">This is my question?</a>
<p>Of course you can, it will be awesome. </p>
</li>
</ul>
CSSを使用して、p
タグをdisplay:none;
に設定しています。 p
をクリックしたときにjQueryを使用してanchor
タグを表示または非表示にしたいのですが、兄弟セレクターに問題があります。
セレクターを機能させるために、私は試してみました:
$("a.question").click(function () {
$(this + " ~ p").css("background-color", "red");
});
それをテストします。どうやら、兄弟セレクターは実際にはそのように使用することはできません。私はjQueryに完全に慣れていないので、それを実現するための適切な手段がわかりません。
使ってみてください:
$(this).siblings('p').css()
$(this).next("p").css("...")
上記の "p"は、DOM内の次の非空白ノードが必要な場合はオプションです。
アンカーをクリックしたときにjQueryを使用して「p」タグを表示または非表示にしたい
アンカーがクリックされたときに「p」タグを切り替えたいとおっしゃっていたので、次のようにします。
$("a.question").click(function (event) {
$(this).siblings('p').show(); //toggle the p tags that are siblings to the clicked element
event.preventDefault(); //stop the browser from following the link
});