我有一个包含表单的 LI,在表单提交时我想淡出父 LI,我一直在尝试没有运气,我也做了一个基本形式的小提琴,谁能给我一个关于它的想法完毕?
<li>
<form>
<input type='submit' value='delete'>
</form>
</li>
问:
$('input').click(
$(this).fadeOut();
)
我有一个包含表单的 LI,在表单提交时我想淡出父 LI,我一直在尝试没有运气,我也做了一个基本形式的小提琴,谁能给我一个关于它的想法完毕?
<li>
<form>
<input type='submit' value='delete'>
</form>
</li>
问:
$('input').click(
$(this).fadeOut();
)
试试这个:
$('input').click(function() {
$(this).closest('li').fadeOut();
});
您的代码中有两个错误:
$.click()
。$(this)
在此上下文中引用<input>
元素。要引用它最接近的<li>
,您需要$.closest()
改用。请注意,您不应该使用$.parent()
,因为它只获取元素的直接父级。<li>
要在当前元素下创建任何元素,而不是仅仅做$.fadeOut()
,而是这样做:
$('input').click(function() {
$(this).closest('li').slideUp();
});
这会将元素的高度设置为 0,将其“向上滑动”。
jsFiddle(http://jsfiddle.net/uAZ5Z/9/)
我将类型更改为“按钮”而不是“提交”,以便您留在同一页面上:
<li>
<form>
<input type='button' value='delete'>
</form>
</li>
您可以获取父级的父级,也可以找到最近的 li:
$('input').click( function()
{
$(this).closest("li").fadeOut();
});
</p>