点击后淡出父李

时间:2012-04-25 19:28:00

标签: jquery

我有一个LI,其中包含一个表单,在表单提交中我希望淡出父LI,我一直在尝试没有运气,我也做了一个基本形式的小提琴,任何人都可以给我一个想法它是如何完成的?

http://jsfiddle.net/uAZ5Z/

<li>
<form>
    <input type='submit' value='delete'>
</form>
</li>

JQ:

 $('input').click(
     $(this).fadeOut();
 )

2 个答案:

答案 0 :(得分:5)

请改为尝试:

$('input').click(function() {
    $(this).closest('li').fadeOut();
});
​

您的代码中有两个错误:

  1. 必须在$.click()内调用函数(匿名与否)。
  2. 在此上下文中,
  3. $(this)引用了<input>元素。要引用距离最近的<li>,您需要使用$.closest()。请注意,您不应使用$.parent(),因为它只获取元素的直接父级。

  4. 要在当前版本之下创建任何<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();
});