如何在没有id或类的情况下选择</p> <div>的最后一个<p>?

时间:2016-09-11 08:25:27

标签: html xpath

我正在尝试获取摘要的InnerHTML:

<div><p>
        <span class="info">Name:</span>
        <p><span>The seven wonders of the mind</span></p>
    </p>
    <p>
        <span class="info>Summary:</span>
        <p><span>Wonder throughout your mind in search for the seven wonders.</span></p>
    </p></div>

我无法获得摘要部分的范围。

3 个答案:

答案 0 :(得分:1)

我从以下XPath表达式开始:

//div/p[contains(span[@class = 'info'], 'Summary')]/p/span

让我们分解一下:

//div

选择文档中的所有div

/p[contains(span[@class = 'info'], 'Summary')]

选择pdiv个孩子的所有span个孩子,这些孩子的班级为&#34; info&#34;包含文本&#34;摘要&#34;。

/p/span

选择这些span的所有p个孩子的所有p个孩子。

如果您确定摘要始终是最后一段,您还可以使用:

//div/p[last()]/p/span

这并不健全,因为它也可能与其他div匹配,如果摘要不在最后p中则会中断。

答案 1 :(得分:0)

这样:

div p:last-of-type {
    #your code here
}

答案 2 :(得分:0)

jquery的<p>的最后一个标签选择。

$( "p" ).last().css( "background-color", "red" ); 

jquery在<p>标记内<div>的最后一个标记选择。

$( "p" ).last().css( "background-color", "red" ); 

将css类添加到<div>元素的最后一个标记。

$( "p span" ).last().addClass( "highlight" );//by this you can connect css to last tag 

通过Css,您可以选择最后一个元素。

p:last-child {
    background: #ff0000;
}

Demo

<p>个标记中的最后<div>个标记。

div p:last-child {
    background: #ff0000;
}