当我选择删除按钮时,我正在尝试使用jquery淡出<p>
内的<li>
标记。
<ul>
<li>
<p>Here is some text!</p>
<span class="delete">Delete</span>
<li>
<ul>
到目前为止,这是我的jQuery:
$(".delete").click(function(){
//Needs to select the <p> tag within the same <li>
$("p").fadeOut();
});
答案 0 :(得分:6)
引用您的结构,只需:
$(".delete").click(function(){
//Needs to select the <p> tag within the same <li>
$(this).prev("p").fadeOut();
});
如果p
可能不是立即删除链接的前身,那么您可以这样做:
$(".delete").click(function(){
//Needs to select the <p> tag within the same <li>
$(this).closest("li").find("p").fadeOut();
});
...这将淡出在p
中找到的所有 li
元素,或者这个:
$(".delete").click(function(){
//Needs to select the <p> tag within the same <li>
$(this).closest("li").find("p").first().fadeOut();
});
...这会淡出它在p
中找到的第一个 li
元素,或者这个:
$(".delete").click(function(){
//Needs to select the <p> tag within the same <li>
$(this).prevAll("p").first().fadeOut();
});
...这将淡出它从删除链接向后找到的第一个兄弟。
参考文献:
答案 1 :(得分:1)
$(".delete").click(function () {
//Needs to select the <p> tag within the same <li>
$(this).closest("li").find("p").fadeOut();
});
...或者您使用parent()
代替closest()
。
如果<p>
总是在<span>
之前,您也可以这样做:
$(".delete").click(function () {
//Needs to select the <p> tag within the same <li>
$(this).prev("p").fadeOut();
});