当尝试addClass('hidden')
到$(this)
时,它似乎将它添加到jQuery对象[textarea.form-control.hidden, prevObject: n.fn.init[1], context: button.btn.btn-info.btn-flat.hidden, selector: "textarea"]
,而不是实际的HTML元素。我错过了什么?
答案 0 :(得分:0)
这是因为你已经在main div'.item'上调用了函数所以当你点击按钮时,'.item'上面的函数会再次调用,因为按钮是.item
的孩子。
使用e.stopPropagation();
停止从父div调用函数。
$('.item button').click(function(e) {
e.stopPropagation();
$parent = $(this).parent().parent();
$parent.find('span').removeClass('hidden');
$parent.find('textarea').addClass('hidden');
$parent.find('button').addClass('hidden');
console.log($parent.find('textarea'));
})