繁体   English   中英

jquery选择器查找没有id或类的div

[英]jquery selector finding div without id or class

<div id="target">
    <div>here</div>
    <div>select this<div>it has more div within</div></div>
<div></div>

如何获得目标的最后一个孩子? 我试过了

$('#target').find('div:nth-child(2)')

这甚至是正确的吗? 看起来它也会在我的目标中选择div,这是我不想要的,嗯。

$('#target').children().last();

使用:last-child带有直接子选择器( > )的 :last-child伪类选择

$('#target > div:last-child')

 console.log($('#target>div:last-child').html()) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="target"> <div>here</div> <div>select this <div>it has more div within</div> </div> </div> 


要选择第二个子项,请使用:nth-child(2)以及直接子选择器( >以避免嵌套元素。

$('#target > div:nth-child(2)')

 console.log($('#target > div:nth-child(2)').html()) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="target"> <div>here</div> <div>select this <div>it has more div within</div> </div> </div> 

让我先修改你的标记:

<div id="target">
    <div>here</div>
    <div>select this
        <div>it has more div within</div>
    </div>
</div>

据我所知,你只想选择文本“选择这个”。 我不确定你要做什么,但如果你只是想得到文本。 您可以使用text()操作获取它的字符串,然后删除<div>...</div>部分。 但是,如果您尝试将一些像css属性这样的颜色放到此节点上。 由于级联功能,您需要修复div。

相反,你可能想要这样做:

<div id="target">
    <div>here</div>
    <div>
        <div>select this</div>
        <div>it has more div within</div>
    </div>
</div>

接着

$("#target").children().last().children().first();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM