jQuery获取子元素的子元素的子元素

8

好的,这可能有点基础。HTML代码如下:

<div class="parents-of-all">
<p>
    <a>
        <span class="thechild">Something</span>
    </a>
</p>

The jquery is

$('.parents-of-all').click(function(){
    alert($(this).find('span').attr('class'));
});

但是某种程度上它不起作用。在这里测试:

http://jsfiddle.net/3zn7e/1/

我的问题是如何遍历到这个span元素?我通常的方法是

$(this).children().children().children().attr('class');

我相信有比这更短的方法,使用find()就是其中之一,但我似乎无法让它起作用。
非常感谢!
编辑:哎呀!显然我忘记了所有DOM选择器的父级.。有时最简单的错误就在你的脸上。
但是,使用find()和多个children()之间是否有任何区别?我发现使用多个children()可以更准确地遍历,因为我们可以添加元素选择器,但还有其他主要区别吗?
2个回答

8
您的类选择器中缺少了点号:
```html

您的类选择器中缺少了点号:

```
$('.parents-of-all').click(function(){
    alert($(this).find('span').attr('class'));
});

http://jsfiddle.net/BoltClock/3zn7e/2


2
如果您想更改祖先或父级的子元素上的属性,应使用相应的选择器: 例如:
$('.parents-of-all span').addClass('hello');

将类“hello”应用于所有属于类“parents-of-all”的元素的后代<span>元素。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接