Передача собственного объекта в jquery - PullRequest
6 голосов
/ 20 сентября 2010

В приведенном ниже коде, как передать объект 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 ]

10 голосов
/ 20 сентября 2010

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, и использовать .closest(), чтобы получить первого <div> предка, и использовать .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();
});
4 голосов
/ 20 сентября 2010
<div>  blah blah <a href="#" id="remove" > Delete </a>   blah blah </div>

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