使用jQuery访问子元素

时间:2012-03-23 21:25:24

标签: jquery

假设我有这个HTML结构:

<ul class='menu'>
    <li>
       <div></div>
       <div>
          <div></div>
          <div>
            <a href="#">Text</a>
          </div>
       </div>
    </li>
</ul>

我如何使用jQuery访问“Text”?我知道我需要使用像$('a')。text()这样的东西,但是当我只知道顶部的UL类时,我的挂断在于不知道如何达到这个水平。我尝试过使用.children()的变体,但我不太确定如何遍历那么远。

请假设我无法更改任何原始HTML标记。

提前致谢。

4 个答案:

答案 0 :(得分:3)

这应该处理它

$('.menu a').text();

编辑:包含已编辑问题的代码

以下是如何遍历.menu

中的所有链接
$('.menu a').each(function(){

   alert(  $(this).text() );
});

答案 1 :(得分:1)

如果其他div中有更多链接,这个例子甚至会起作用:

$('.menu li div:eq(1) div:eq(1) a').text();

演示:http://jsfiddle.net/utJsu/

答案 2 :(得分:0)

您还可以为锚标记指定特定的类或ID,然后使用该类或ID来选择它。

HTML

<a class="menu-link" href="#">Text</a>
<a href="#">Text</a>

的jQuery

$('.menu-link').text();

使用唯一类作为选择器的好处是,如果菜单下有其他锚标记,则只会影响具有给定类的那些。

没有课程的其他链接不会受到影响。

答案 3 :(得分:0)

由于你有多个.menu内部,你可以使用每个

$('.menu a').each(function(){$(this).text(); // gives you the text of each a});