使用最接近的返回null获取data-attribute

Raj*_*amy 2 jquery

我有一些组div,它们是具有class(es)基于其功能,从这一点,我只是试图让data attributefirst divlast div.所以,我认为这closest符合我的要求.但不幸的是它正在回归null.任何人都可以告诉我我的代码片段有什么问题.

HTML:

<div class="DivApplication">
  <div class="DivImg DivImgRun DivImgLeft" data-internalid=16></div>
  <div class="DivAppName">Application Title</div>
  <div class="DivTime">Created: 23-06-2013 | Edited: 23 July 2013 </div>
  <div class="DivImg DivImgReport DivImgRight">report</div>
  <div class="DivImg DivImgDelete DivImgRight">delete</div>
  <div class="DivImg DivImgEdit DivImgRight">edit</div>
</div>
Run Code Online (Sandbox Code Playgroud)

JQUERY:

$(document).ready(function(){

    $(".DivImgEdit").click(function(){
        alert($(this).closest('.DivImgRun').data('internalid'));
    });

});
Run Code Online (Sandbox Code Playgroud)

结果: NULL


DEMO

Moh*_*dil 10

你需要使用.siblings而不是.closest

$(".DivImgEdit").click(function(){
     alert($(this).siblings('.DivImgRun').data('internalid'));
});
Run Code Online (Sandbox Code Playgroud)

在父母中最近看,在你的情况下,所需的元素是兄弟,而不是父母

演示---> http://jsfiddle.net/Rpazu/2/

  • 轻微的挑剔:`nearest()`寻找父母*和元素本身*如果它匹配选择器. (3认同)