javascript - 获取父元素

标签 javascript jquery html

JS

   <script>           
        $('.btn').click(function(e){
           target = e.target;
           parent = target.parentNode.parentNode;
           console.log(parent);
        });
    </script>

HTML

 <div class="card" style="width: 18rem;">
    <div class="card-header">
        <div class="user-icon"></div>
        <h4 class="job-type">Painter</h4>

    </div>
    <div class="card-body">
        <p class="card-text"><strong>Job Description:</strong><span> Some quick example text to build on the card title and make up the bulk of the card's content.</span></p>
        <p class="card-text"><strong>Payment:</strong><span> $40</span></p>
        <p class="card-text"><strong>Location:</strong><span> 25 Apple str.</span></p>
    </div>
    <div class="card-body">
            <a class="btn btn-info btn-sm info" >
                <span class="glyphicon glyphicon-info-sign"></span> Info
            </a>
            <a href="#" class="btn btn-info btn-sm">
                Apply Now
            </a>
    </div>
</div>

我试图获取卡片元素及其子元素,但有时每当我单击按钮时,我都会得到按钮父元素

<div class="card-body">
            <a class="btn btn-info btn-sm info" >
                <span class="glyphicon glyphicon-info-sign"></span> Info
            </a>
            <a href="#" class="btn btn-info btn-sm">
                Apply Now
            </a>
    </div>

有时我会得到卡片元素 有人可以向我解释一下为什么这是[控制台图片][1]

最佳答案

这是因为您有时可能单击字形,它就会成为您的目标,有时您单击文本,它会按照您的预期运行。

您可以使用 for example $(this).closest(".card") 而不是 target.parentNode.parentNode

关于javascript - 获取父元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58929465/

相关文章:

JavaScript 和 ctrl 键冲突

javascript - 图像选择器jquery插件:How to get img-src of selected images(multiple selection case)

javascript - jQuery 如何将#output 传递给变量以在输入字段中使用

javascript - 使用 jQuery 在不同的 `div` 之间标记一行

javascript - 脚本 IF ELSE 仅处理 php 中的第一个数据

JavaScript 可能存在内存泄漏

javascript - 如何在 React Native 中将 Firebase 实时数据库数据值增加一个?

javascript - HTML 重定向代码计时器

html - 如何在我的 CSS 库中正确定位图像?

html - &lt;!DOCTYPE html> 弄乱了高度