如何只使用HTML中的jQuery获取没有标签的直接文本

WHI*_*LOR 31 html jquery

我有一个HTML:

<strong>1)</strong>TEXT THAT I ONLY NEED<p>some par</p><ul>..</ul>
Run Code Online (Sandbox Code Playgroud)

只需要"我只需要的文本",而不是HTML中的任何标签,我怎样才能用jQuery获取它?

Del*_*gan 42

最好的方法是对.clone()你的对象,.remove()所有它.children(),然后回到对象使用.end(),最后得到.text().

博客文章中描述了该方法.

$("strong")
        .clone()    //clone the element
        .children() //select all the children
        .remove()   //remove all the children
        .end()  //again go back to selected element
        .text();    //get the text of element
Run Code Online (Sandbox Code Playgroud)


tma*_*ini 5

好吧,如果你使用 jQuery,你会这样做

$('.selector').text();
Run Code Online (Sandbox Code Playgroud)

更多信息和示例在这里

编辑:我刚刚看到你想要不在任何标签中的文本 - 这不是直接可能的(事实是,html 文档中的每个文本都在一些 HTML 标签中。)

在这种情况下,我会尝试更改标记(最简单的方法),以便所需的文本位于 html 标记内。如果这是不可能的,您可以使用上述text()方法从父元素获取整个文本,然后必须减去您不需要的部分。

有关如何减去字符串的示例,请参阅http://jsfiddle.net/3SSAR/1/ 。

只需记住在 javascript 中使用substr而不是-减去字符串