У меня есть слой А и слой B внутри слоя АУдаление родителя без нажатия на детях
Можно ли удалить слой А с JQuery функции remove()
мыши только на на слой А а не на слой B?
У меня есть слой А и слой B внутри слоя АУдаление родителя без нажатия на детях
Можно ли удалить слой А с JQuery функции remove()
мыши только на на слой А а не на слой B?
$("body").on("click", ".a1", function(e) {
if (this === e.target) $(this).remove();
});
Это удаляет b так же, как его делает. –
Да, но дело не в том, чтобы вызвать функцию, нажав на B – MaciejLisCK
Нет, он хочет, чтобы B оставался нетронутым, даже если его родительский элемент удаляется. – Andy
Если вы хотите .b1
остаться и удалить только .a1
$('.a1').live('click',function() {
$(".b1", this).unwrap();
});
Вы можете удалить, что Див, даже если вы не» не знаю ни одного ch ИСД элемент:
$('.a1').live('click',function() {
$(".a1 :first-child").unwrap();
});
Если вы хотите удалить .a1
DIV, если он не нажал в .b2
этого является то, что вам нужно:
$('.a1').live('click',function() {
$(".a1 :first-child").unwrap();
});
$('.b1').live('click',function() {
throw "stop execution";
});
По Комментарий @Rick Calder: Если вы хотите, вы можете использовать .addClass()
для изменения класса или .removeClass()
для удаления класса.
Вот как я прочитал вопрос:
Если нажать на .b1
, ничего не должно произойти. Если вы нажмете на .a1
, его следует удалить.
Если это намерение, вот JQuery:
$('.b1').click(function(e){
e.stopImmediatePropagation();
});
$('.a1').click(function(){
$(this).remove();
});
Вот jsbin. Примечание: css, html, бесстыдно украденный из @ Vision's jsFiddle
Если вы хотите, чтобы B остался, и я предполагаю, что вы это делаете, то это не может быть ребенок А. Вам нужно будет позиционировать его поверх A, но сохраните его как отдельную сущность. –
Был ли отредактирован вопрос? Я был уверен, что его попросили «Б» остаться. – F0G
Нет, это не отредактировано. В противном случае вы можете просмотреть информацию о редактировании. – Goldie