3

我有以下 html 标记

<div class="title-wrap">
      <span class="title">Hello World</span>
        <br/>
   This title is about Hello World
</div>

我想定位文本'This title is about Hello World'

但是我不知道如何在不包括跨度的情况下做到这一点?是否可以使用这种格式的 html 来实现这一点?

我试过使用

var test = (jQuery('.title-wrap').text() || '' );
alert (test);

但这会返回

Hello World

This title is about Hello World

this fiddle所示。

4

3 回答 3

3

你可以使用这个:

var test = (jQuery('.title-wrap')
        .clone()    //clone the element
        .children() //select all the children
        .remove()   //remove all the children
        .end()  //again go back to selected element
        .text() || '' );
alert (test);

输出:

This title is about Hello World

小提琴:http: //jsfiddle.net/Y6dcU/6/

于 2012-10-18T03:53:33.690 回答
3

您可以使用.contents()获取所有子节点,.title-wrap然后用于.last()选择最后一个,因为那是您想要的。

jQuery('.title-wrap').contents().last().text()

http://jsfiddle.net/Y6dcU/11/

于 2012-10-18T04:05:03.367 回答
-2

尝试将其包装在 span 元素中。您可以使用标头(h1、h2 等)替换第一个跨度,也可以使用 id 或类属性来获取特定引用:

<div class="title-wrap">
    <span class="title">Hello World</span>
    <br>
    <span id="myTitle">This title is about Hello World<span>
</div>

在 JS 中,你会使用:

var test = (jQuery('#myTitle').text() || '' );
alert (test);
于 2012-10-18T03:58:58.930 回答