我一遍又一遍地阅读文档,我无法理解为什么这不起作用:
从函数内部调用以下内容:
alert($(this).parent().parent().html());
返回如下内容:
<div class="something1">
<div class="whereThisStarted">stuff</div>
</div>
<div class="something2">stuff</div>
<div class="somethingSpecial">stuff</div>
<div class="something4">stuff</div>
我想得到“特别的东西”。在我看来,以下任何一个都可以工作,但它们都返回null。
alert($(this).parent().parent().children(".somethingSpecial").html());
alert($(this).parent().parent().filter("div.somethingSpecial").html());
这有什么问题?
由于
答案 0 :(得分:6)
如果你真的必须按照你想要的方式去做,而不是TStamper的表现,试试这个:
alert($(this).parent().parent().find("div.somethingSpecial").html());
答案 1 :(得分:2)
您可能想尝试最接近的功能 - 听起来更像是您想要做的事情:
此代码应该有效:
alert($(this).closest(".somethingSpecial").html());
或者你的$(this)在'startHere'div中的情况:
alert($(this).parent().closest(".somethingSpecial").html());
答案 2 :(得分:0)
我不确定为什么单独的孩子(“div.somethingSpecial”)不起作用但我只是意识到这也有效:
alert($(this).parent().parent().children().filter("div.charactersLeft").html());