2014-06-25 3 views
0

Учитывая следующий HTML:JQuery - Установить класс на родительский элемент

<div class="icongroup inline"> 
    <a href="http://www.google.be"> 
    <div class="bigicon icon relative inline center disabled"> 
     <img id="delete" src="Resources/Icons/Delete.png" alt="Delete"> 
     <div class="iconlegend">Delete</div> 
    </div> 
    </a> 
</div> 

Теперь у меня есть селектор JQuery, который принимает удаления элемента:

var element = $("#delete"); 

А теперь я хочу, чтобы отключить анкерный элемент, который находится где-то над элементом.

В настоящее время, я использую этот код:

$(element).parent().parent().on("click", function(e) { 
    e.preventDefault(); 
    return false; 
}) 

Это работает без проблем, но мне было просто интересно, если есть более чистое решение, чтобы сделать это. Таким образом, не используя родителя() родителя()

ответ

1

Sure:

element.closest('a').on("click", function(e) { 
    e.preventDefault(); 
    return false; 
}); 

Стоит отметить, что element уже элемент JQuery, так что вы можете цепи JQuery методы для него напрямую, а не перематывать с помощью jQuery.

Ссылки:

+0

Работайте как шарм. Спасибо – Complexity

+0

Вы очень рады. –

1

Yep:.

element.closest("a").on("click", function() { 
+0

Вы получаете +1 для ответа за 1 минуту раньше ^.^ – naomik

Смежные вопросы