比方说,我有以下XML文档,我需要使用jQuery解析它。
<books>
<book>
<title>Gone with the Wind!</title>
</book
<book>
<title>Lord of the Rings</title>
</book>
<book>
<title>4 hour work week</title>
</book
</books>
为了获得第一本书的“头衔”。我可以使用以下jQuery函数。
// let's assume xmldoc contains the above document.
$(xmldoc).find("title").first().text();
这会给我第一本书的'title',即“Gone with the Wind!”。现在,我的问题是:这是获得第一本书的“标题”的有效方法吗?
我担心,内部jQuery可能正在解析所有书籍的标题,然后返回 first()。我想知道,如果我在解析我不感兴趣的书籍时浪费CPU周期?
如果您能想到,请提出替代方案。提前谢谢!
PS:请注意,我不能使用浏览器的原生javascript API,因为项目的其余部分已经使用jQuery进行XML解析。
答案 0 :(得分:4)
我不能说它的效率(为什么不对它进行基准测试?),但这里是一个替代表达式,它只使用一个选择器来实现相同的效果:
$( "book:first-child title", xmldoc ).text()
正如@VincentMcNabb指出的那样,jQuery尽可能尝试使用浏览器的内置功能。</ p>