Відповіді тут сприйняли питання ОП занадто буквально. Як можна відповісти на ці відповіді в сценарій, коли є ДЛЯ дочірніх елементів, а не лише один <a>тег? Ось один із способів.
Скажімо, у вас є фотогалерея з затемненим фоном та фотографіями, зосередженими у браузері. Коли ви клацаєте на чорному тлі (але нічого в ньому), ви хочете, щоб накладка закрилася.
Ось кілька можливих HTML:
<div class="gallery" style="background: black">
<div class="contents"> <!-- Let's say this div is 50% wide and centered -->
<h1>Awesome Photos</h1>
<img src="img1.jpg"><br>
<img src="img2.jpg"><br>
<img src="img3.jpg"><br>
<img src="img4.jpg"><br>
<img src="img5.jpg">
</div>
</div>
Ось як би працював JavaScript:
$('.gallery').click(
function()
{
$(this).hide();
}
);
$('.gallery > .contents').click(
function(e) {
e.stopPropagation();
}
);
Це зупинить події клацання з елементів всередині .contentsкожного дослідження, .galleryтому галерея закриється лише тоді, коли ви клацнете в області зів'ялого чорного фону, але не тоді, коли ви натиснете в області вмісту. Це можна застосувати до багатьох різних сценаріїв.
$(".header a")з$(".header *")і отримав який - або дитина обраний (Div, форми, введення і т.д.).