Я хочу добавить класс родительскому классу , когда я нажимаю на класс .input
, когда родитель этого класса .input
имеет дочерний элемент .delete
. В противном случае удалите родительский элемент вместо его скрытия. Проблема в том, что он всегда добавляет класс .hidden
родительскому элементу, несмотря ни на что.Добавить класс родительскому объекту, у которого есть определенный дочерний элемент
HTML:
<div class='container'>
<input class='input' type='text'>
<input class='input delete' type='text'>
</div>
<div class='container'>
<input class='input' type='text'>
</div>
JS:
$('.input').on('click', function() {
var element = $(this);
if (element.parent().has('.delete')) {
element.parent().addClass('hidden');
} else {
element.parent().remove();
}
});
Я не совсем уверен, что вы просите. Но возможно вы хотите использовать 'hasClass()' вместо этого? – sburke0708
http://jsfiddle.net/Ls88xxds/ – adeneo
Используйте 'hasClass()' или 'is()', которые возвращают boolean. '.has()' фильтрует результаты. – Popnoodles