1

例如,假设我有以下 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();

这会给我第一本书的“标题”,即“乱世佳人!” . 现在,我的问题是:这是获得第一本书“标题”的有效方法吗?

恐怕,jQuery 内部可能会解析所有书籍的标题,然后返回给我first()。我想知道,我是否在解析我不感兴趣的书籍时浪费了 CPU 周期?

如果您能想到任何方法,请提出替代方案。提前致谢!

PS:请注意,我不能使用浏览器的原生 javascript API,因为项目的其余部分已经使用 jQuery 进行 XML 解析。

4

1 回答 1

4

我无法谈论它的效率(为什么不对其进行基准测试?),但这里有一个替代表达式,它只使用一个选择器来实现相同的效果:

$( "book:first-child title", xmldoc ).text()

正如@VincentMcNabb 指出的那样,jQuery 尽可能地尝试使用浏览器的内置功能。

于 2012-04-09T21:12:36.470 回答