Jquery 访问最近的<;OL>;列出要删除的项目(<;A>;点击

Jquery 访问最近的<;OL>;列出要删除的项目(<;A>;点击,jquery,closest,Jquery,Closest,我有几个定义列表,每个都包含嵌套的有序列表和锚点。单击后,我需要返回相应的列表项。有人能告诉我,我是否在正确的轨道与下面的代码?谢谢 <dl> <dt><a href="/">Colors</a></dt> <dd> <ol> <li><a href="/">White</a></li> <li><a hre

我有几个定义列表,每个都包含嵌套的有序列表和锚点。单击后,我需要返回相应的列表项。有人能告诉我,我是否在正确的轨道与下面的代码?谢谢

<dl>
<dt><a href="/">Colors</a></dt>
<dd>
    <ol>
        <li><a href="/">White</a></li>
        <li><a href="/">Blue</a></li>
        <li><a href="/">Red</a></li>
        <li><a href="/">Green</a></li>
        <li><a href="/">Orange</a></li>
     </ol>
 </dd>
 <dt><a href="" class="agree">Agree</a></dt>
 </dl>
 <dl>
<dt><a href="/">Shapes</a></dt>
<dd>
    <ol>
        <li><a href="/">Square</a></li>
        <li><a href="/">Circle</a></li>
        <li><a href="/">Triangle</a></li>
        <li><a href="/">Rectangle</a></li>
        <li><a href="/">Hexagon</a></li>
     </ol>
 </dd>
 <dt><a href="" class="agree">Agree</a></dt>
 </dl>


$('.agree').click(function(e) {
e.preventDefault();

var items = $(this).closest(ol).children(li);    

$(items).each(function() {                   
    alert($(this).text());
});
});

  • $('.agree')。单击(函数(e){ e、 预防默认值(); var items=$(this).最近(ol).子项(li); $(项)。每个(函数(){ 警报($(this.text()); }); });

    .agree
    元素不在任何有序列表中。不,您没有正确遍历树。
    .agree
    链接不在有序列表中,因此
    最近('ol')
    找不到任何元素。请看一看.a,它没有跟随者,而a只包含一个链接,这是对定义列表的滥用。谢谢-这两个优点都很好。我已将链接嵌套在a中,并将链接移到a外。
    $('.agree').click(function(e) {
      e.preventDefault();
    
      var items = $(this).parent().prev('dd').find('ol').children('li');   
      $(items).each(function() {                   
         alert($(this).text());
      });
    });