javascript - 在父元素中使用 jQuery 获取数据属性的值

标签 javascript jquery parent

我有以下 HTML 代码,其中 .spot-infoonclick 我想获取 data-test 的值。

    <div class="spot" id="spot-1" data-test="12345">
        <div class="spot-main">
          <span>Test</span>
          <a href="#" class="spot-info">view</a>
        </div>
    </div>

    <div class="spot" id="spot-2" data-test="67891">
        <div class="spot-main">
          <span>Test</span>
          <a href="#" class="spot-info">view</a>
        </div>
    </div>

请在下面查看我的 js 尝试:

    $('.spot-info').click(function ( e ) {
        e.preventDefault();
        var test = $(this).parent().parent().data('data-test');
        console.log(test);
    });

此测试在控制台中记录 undefined。我认为这可以检查 .spot-info 的父级的父级。

另外,有没有办法将很多 parent(0) 方法链接在一起而不是使用 jQuery。

最佳答案

请尝试使用 attr。另外,尝试使用“最接近”而不是两次引用父级:

$('.spot-info').click(function ( e ) {
    e.preventDefault();
    var test = $(this).closest('.spot').attr('data-test');
    console.log(test);
});

关于javascript - 在父元素中使用 jQuery 获取数据属性的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38641343/

相关文章:

javascript - 子窗口打开后禁用链接,子窗口关闭后恢复

c# - parent 和 child 的 Linq 订单

javascript - 添加使用对象方法的单击事件处理程序

javascript - 使用嵌套 ng-repeat 和动态 ng-model 作为对象

javascript - 更改 ASP.NET 下拉框的样式

javascript - 以编程方式使选项卡处于事件状态

javascript - 使用表单变量名称将多个字符串值传递给父窗口

javascript - Jasmine 测试中函数内未定义的 $scope 变量

javascript - 向本地主机上的不同端口发出请求时缺少 CORS header ‘Access-Control-Allow-Origin’

javascript - 如何使用 jQuery 分离元素选择器?