我有一个LI,其中包含一个表单,在表单提交中我希望淡出父LI,我一直在尝试没有运气,我也做了一个基本形式的小提琴,任何人都可以给我一个想法它是如何完成的?
<li>
<form>
<input type='submit' value='delete'>
</form>
</li>
JQ:
$('input').click(
$(this).fadeOut();
)
答案 0 :(得分:5)
请改为尝试:
$('input').click(function() {
$(this).closest('li').fadeOut();
});
您的代码中有两个错误:
$.click()
内调用函数(匿名与否)。$(this)
引用了<input>
元素。要引用距离最近的<li>
,您需要使用$.closest()
。请注意,您不应使用$.parent()
,因为它只获取元素的直接父级。要在当前版本之下创建任何<li>
元素,而不是仅仅执行$.fadeOut()
,请执行以下操作:
$('input').click(function() {
$(this).closest('li').slideUp();
});
将元素的高度设置为0,将其“滑动”。
答案 1 :(得分:2)
jsFiddle(http://jsfiddle.net/uAZ5Z/9/)
我将类型更改为“按钮”而不是“提交”,因此您保持同一页面:
<li>
<form>
<input type='button' value='delete'>
</form>
</li>
您可以获取父级的父级,也可以找到最近的li:
$('input').click( function()
{
$(this).closest("li").fadeOut();
});