#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 в родительском элементе