Jquery/Javascript——查找父项';s兄弟姐妹';儿童';孩子

Jquery/Javascript——查找父项';s兄弟姐妹';儿童';孩子,javascript,jquery,html,jquery-mobile,Javascript,Jquery,Html,Jquery Mobile,以如下所示的html为例: <html> <head> <title></title> </head> <body> <div> <a class="delete-btn"></a> </div> <ul> <li>

以如下所示的html为例:

<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>

  • 我需要从点击“删除btn”抓取这个
我需要向具有“delete btn”类的项目a添加一个单击事件,并从数据记录id为9的
中获取数据记录id。这可以也将改变,并且假设我不可能将数据记录id添加到原始的delete按钮

基本上,我有一个日期的重要标志列表,我想让用户能够删除日期的所有标志。日期标签的所有子项都将具有相同的记录id,我需要获取该id

非常感谢您的帮助。

使用

$(this).parent().next().find('a')
我不知道你为什么会犯这样的错误

使用以下命令:

$('.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')
虽然你必须做出适当的改变, 比如稍后在所有元素中运行each循环,或者执行任何您想执行的操作。但这是有效的

您可以使用函数仅提取那些数据记录id为9的锚定:

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

我试过了,当我尝试执行.attr('data-record-id')时,我得到了一个错误,您不能调用undefined的方法attr。
$('a.delete-btn').on('click', function(e) {
    var $recid9 = $('a').filter(function() {
        return ($(this).data('record-id') == 9);
    });
});​