访问最近的<ol>列表项到<a> on click</a> </ol>

时间:2012-05-26 16:16:12

标签: jquery closest

我有几个定义列表,每个列表都包含一个嵌套的有序列表和锚点。点击后,我需要返回相应的列表项。任何人都可以通过以下代码告诉我我是否在正确的轨道上?感谢。

<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());
});
});

1 个答案:

答案 0 :(得分:2)

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

  var items = $(this).parent().prev('dd').find('ol').children('li');   
  $(items).each(function() {                   
     alert($(this).text());
  });
});

<强> DEMO