无法获取父级父级的jquery data().仅返回undefined

cli*_*tgh 1 jquery jquery-data

列表:

<ul class="div_chart1" data-quickcode="mac" data-questionid="1" >
    <li>
       <img src="inmark/pie_icon.jpg" class="pie_icon" onclick="ok()"/>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

功能:

function ok(){          
    console.log($(this).parent().parent().data('quickcode'));
    console.log($(this).parent().parent().data('questionid'));  
}
Run Code Online (Sandbox Code Playgroud)

function ok()返回undefined.这有什么问题?

Raj*_*amy 6

尝试将this引用作为参数传递给内联处理程序,

HTML:

<img src="inmark/pie_icon.jpg" class="pie_icon" onclick="ok(this)"/>
Run Code Online (Sandbox Code Playgroud)

JS:

function ok(elem){          
    console.log($(elem).closest('ul').data('quickcode'));
    console.log($(elem).closest('ul').data('questionid'));  
}
Run Code Online (Sandbox Code Playgroud)

DEMO


最好的方法是,

$('.pie_icon').click(function(e){
  e.stopPropagation();
  var parent = $(this).closest('ul');
  console.log(parent.data('quickcode'));
  console.log(parent.data('questionid'));  
});
Run Code Online (Sandbox Code Playgroud)