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

Jquery/Javascript -- Find parent's sibling's children's child

本文关键字:兄弟姐妹 儿童 孩子 Javascript 查找 Jquery      更新时间:2023-09-26

以如下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>

我需要向具有类"delete btn"的项目a添加一个点击事件,并从数据记录id为9的<a></a>中获取数据记录id。这种情况可能也会改变,并且假设我不可能将数据记录id添加到原始的删除按钮中。

基本上,我有一个日期的生命体征列表,我想让用户能够删除日期的所有体征。日期标签的所有孩子都将有相同的记录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
});

使用这个:

$('.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循环,或者做任何你想做的事情。但这很管用!

您可以使用过滤函数来提取那些带有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/