在jquery中传递自我对象

时间:2010-09-20 13:11:44

标签: jquery jquery-ui jquery-selectors jquery-validate

在下面的代码中,如何在validate函数中传递div对象

  <div><input type="text"></input>&nbsp;&nbsp;&nbsp&nbsp;<a href="#" onclick="validate("Hot to pass the div objevt here")"</input> 

   <script>
    function validate()
    {
      .....
      .....
       Finally remove the div   
    }

     </script>

2 个答案:

答案 0 :(得分:10)

HTML:

<div class='elementToRemove'>
    <div>
        <a href="#" onclick="validate(this)">some text</a>​​​​​​​​​​​​​​​​​​​​​​​
    </div>
</div>

的javascript:

function validate( elem ) {
    $(elem).closest('div.elementToRemove').remove();
}

validate()函数中,elem将代表收到该事件的<a>元素。

然后你可以将它包装在一个jQuery对象中,use .closest()来获取第一个<div>祖先,并use .remove()将它从DOM中删除,并清理所有附加的数据,喜欢事件处理程序。

或许最好让jQuery处理你的事件处理程序:

HTML:

<div class='elementToRemove'>
    <div>
        <a href="#" class="someClassName">some text</a>​​​​​​​​​​​​​​​​​​​​​​​
    </div>
</div>

jQuery的:

$('a.someClassName').click(function() {
    $(this).closest('div.elementToRemove').remove();
});

答案 1 :(得分:4)

<div>  blah blah <a href="#" id="remove" > Delete </a>   blah blah </div>

$(function() {
 $('a#remove').click(function() {
     $(this).closest('div').remove();
 });
});