对于模糊的标题,我们深表歉意。这是我想要做的一个例子。
<book>
The Lord of the Rings
<author>JRR Tolkien</author>
</book>
$xml.find("book").each(function()
{
$(this).text();
});
$(本)的.text();不仅会返回“指环王”,还会......以及其中任何其他节点。我正在寻找一种一致的方式来回归“指环王”或者我在那里的任何信息。
答案 0 :(得分:3)
您需要使用contents()
来获取所有节点,然后使用.filter()
来删除任何非文本节点的节点:
$xml.find("book").contents().filter(function() {
return this.nodeType == Node.TEXT_NODE;
}).each(function() {
// $(this).text();
});
如果代码也需要在IE7中运行,则必须将Node.TEXT_NODE
替换为3
。
答案 1 :(得分:2)
可能文本总是在标记之前,所以你也可以抓住第一个内容节点
$(xml).find('book').each(function(){
var text=$(this).contents().eq(0).text();
});
答案 2 :(得分:1)