Jquery,提取子文本

时间:2011-07-14 04:09:11

标签: jquery

这是html代码,

<li class="comment-content">
    Target String!!!
    <span class="comment-time">2011-07-13 17:08:39</span>
    <a title="comment" class="bottoml cof-comment" href="#">comment</a>
    <a title="modify" class="bottoml cof-comment" href="#">modify</a>&nbsp;&nbsp;
    <a title="delete" class="bottoml cof-comment" href="#">delete</a></li>
</li>

我可以使用像这样的jquery获取评论内容的文本,

$(".comment-content").text();

结果是:

Target String!!! 2011-07-13 17:08:39 comment modify delete

我的问题,我可以获得字符串“Target String !!!”只使用jquery? 没有子标签的文本,我只是指直接子文本。

3 个答案:

答案 0 :(得分:6)

像这样:

$('.comment-content').contents().filter(function(){ return this.nodeType == 3; });

示例:http://jsfiddle.net/AlienWebguy/FGAXE/

正如您在MDN Node.nodeType explanation上看到的那样,常量TEXT_NODE = 3,这就是我们需要寻找的东西。

答案 1 :(得分:2)

希望它能运作

var content = $(".comment-content").html();
var targetString = content.substring(0,content.indexOf('<'))

targetString是您的必需品。

答案 2 :(得分:0)

另一招:

                $(this)
                    .clone()
                    .children()
                    .remove()
                    .end()
                    .text();