jQuery的/使用Javascript - 查找父母的兄弟姐妹的孩子的孩子

问题描述:

就拿一个HTML像下面这样:jQuery的/使用Javascript - 查找父母的兄弟姐妹的孩子的孩子

<html> 
    <head> 
     <title></title> 
    </head> 
    <body> 
     <div> 
      <a class="delete-btn"></a> 
     </div> 
     <ul> 
      <li> 
      <div> 
       <div> 
        <a data-record-id="9">I need to grab this, from a click on 'delete-btn'</a> 
       </div> 
      </div> 
      </li> 
     </ul> 
    </body> 
<html> 

我需要一个click事件添加到具有类“删除-BTN”的项目,并从<a></a>中获取数据记录标识为9的数据记录标识。这可以并且将会改变,并假定我没有可能将数据记录标识添加到原始删除按钮。

基本上,我有一个日期生命体征的列表,我想给用户删除日期的所有迹象的能力。日期标签中的所有孩子都将拥有相同的记录ID,我需要抓取它。

任何和所有的帮助,非常感谢。

使用

$(this).parent().next().find('a') 

我不知道为什么你得到这个错误。

http://jsfiddle.net/3Zkz9/

$('.delete-btn').click(function(){ 
    var $a=$(this).parent().next().find('a'); 
    alert($a.attr('data-record-id')); // gives 9 
}); 
+0

我试过了,当我试图做.attr(“数据记录ID”)我得到错误,你不能调用未定义的方法attr。 –

+0

有趣的是,我现在无法复制错误。非常感谢 :) –

使用本:

$('.delete-btn').click(function() { 
    var id = $(this).parent('div').next('ul').find('[data-record-id]').attr('data-record-id'); 
    // use id 
}); 

尝试了这一点,

$($('.delete-btn')[0]).parent().next().find('a').attr('data-record-id') 

虽然你将不得不做出相应的改变, 想通过运行每个循环以后的所有元素或你想要做的任何事情。但是这工作!

可以使用filter函数只是提取那些美女主播与data-record-id=9

$('a.delete-btn').on('click', function(e) { 
    var $recid9 = $('a').filter(function() { 
     return ($(this).data('record-id') == 9); 
    }); 
});​ 

http://jsfiddle.net/mblase75/CyKab/