есть разметка
есть обработчик событий на нажатие "span class='close'"
$("docement").ready(function () {
$(".close").on("click",function (e) {
var el = $(this).parent().children(".kek");
console.log(el.val()); *вывод тут*
});
});
и тут мне выводит пустое место, я пытался даже использовать .show() / .hide, но значение все равно пустое. А если я использую классическое .value, то выводит вообще undefined! Что делать?
jQuery
$("span").on("click", function() {
console.log($(this).parent());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="foo foo_1"><span>Click me</span></div>
<div class="foo foo_2"><span>Click me</span></div>
<div class="foo foo_3"><span>Click me</span></div>
Vanilla JS
[...document.querySelectorAll(".foo > span")].forEach(item => {
item.addEventListener("click", (e) => {
console.log(e.currentTarget.parentNode);
});
});
<div class="foo foo_1"><span>Click me</span></div>
<div class="foo foo_2"><span>Click me</span></div>
<div class="foo foo_3"><span>Click me</span></div>
e.target возвращает HTMLElement.
У элементов нет свойства parent, есть свойства parentNode и parentElement.
Так как уже используется jQuery можно воспользоваться методом parent
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости