Как использовать выбор родителя> потомка с помощью функции jquery parent()

#jquery #ajax #parent-child

#jquery #ajax #родительский элемент-дочерний элемент

Вопрос:

Мне нужно выбрать родительский div, а затем дочерний элемент с определенным классом, чтобы также добавлять данные при нажатии на ссылку. Пожалуйста, дайте мне знать, имеет ли это смысл. Это вызывает ajax и возвращает данные, и необходимо добавить число к div с именем ‘num’, но, похоже, я не могу выбрать его правильно

 $('.add_fav').live('click', function(){
        var link = $(this);
        var div = $(this).parent().parent();

        // this is where the problem is
        var num = $(this).parent().$('.favnumholder');

        $.get($(this).attr('href'),{}, function(data){
        var data = data.split(':');
            if(data[0] == 'added'){
                div.addClass("hasclass");
                link.addClass('favorited');
                link.attr('href', 'ajax/add-fav.php?action=rmamp;fav_type=' data[2] 'amp;fav_id=' data[1]);
                link.text('Un-fav');
                num.html(data[3]);
            } else if(data[0] == 'removed') {
                div.removeClass("hasclass");
                link.removeClass('favorited');
                link.attr('href', 'ajax/add-fav.php?action=addamp;fav_type=' data[2] 'amp;fav_id=' data[1]);
                link.text('Fav');
            }
        });
        return false;
    }); 
  

Ответ №1:

 var num = $(this).parent().find('.favnumholder');
  

или

 var num = $('.favnumholder', $(this).parent());
  

Ответ №2:

Вы имеете в виду:

 var num = $('.favnumholder', $(this).parent());
  

При этом выбирается favnumholder в родительском элементе