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

5 javascript jquery parent

我有以下的HTML代码,其中onclick.spot-info我想要得到的价值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>
Run Code Online (Sandbox Code Playgroud)

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

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

此测试正在登录undefined控制台。我认为这可以检查.spot-info.

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

小智 7

尝试attr代替。另外,尝试 'closest' 而不是两次引用父级:

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