首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery XML使.text()只返回当前节点文本

JQuery XML使.text()只返回当前节点文本
EN

Stack Overflow用户
提问于 2012-06-17 04:14:37
回答 2查看 3.9K关注 0票数 0

抱歉,标题太模糊了。下面是我想做的一个例子。

代码语言:javascript
复制
<book>
  The Lord of the Rings
  <author>JRR Tolkien</author>
</book>

$xml.find("book").each(function()
{
  $(this).text();
});

$(this).text();不仅返回“指环王”,还返回...以及内部的任何其他节点。我正在寻找一种一致的方法,只返回“指环王”或我在那里的任何信息。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-17 04:33:16

可能文本总是在标记之前,所以您也可以抓取内容的第一个节点

代码语言:javascript
复制
$(xml).find('book').each(function(){
   var text=$(this).contents().eq(0).text();
});

演示:http://jsfiddle.net/nS5bj/

票数 2
EN

Stack Overflow用户

发布于 2012-06-17 04:27:38

您可以克隆元素并删除该克隆的子元素,只保留纯文本:

代码语言:javascript
复制
$xml.find("book").each(function()
{
    var title = $(this).clone().children().remove().end().text();
});

这里使用.end是关键,因为它终止了.remove操作(删除所有子标记),留下了剩余的文本。

JSFiddle

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11066706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档