在jQuery遍历中哪个代码更好

时间:2013-11-06 10:51:59

标签: jquery performance jquery-traversing

以下2几乎是相同的,还是一个更好,为什么?

A)

$myLists.find(".panel").hide().end()
    .find(".tabs a.active").removeClass("active").end()
    .find($this.attr("href")).fadeIn(250);

B)

$myLists.find(".panel").hide();
$myLists.find(".tabs a.active").removeClass("active");
$myLists.find($this.attr("href")).fadeIn(250);

2 个答案:

答案 0 :(得分:1)

我怀疑两者之间的表现有任何显着差异。我会选择B只是因为我发现它更具“可读性”(尽管在这个特殊情况下可以说出事实A是可读的)。

答案 1 :(得分:1)

性能差异(如果有的话)非常小。不值得打扰。

唯一可能的另一个区别是易于阅读和编写代码。这个问题真的取决于你。我觉得你的链式代码很混乱。如果我这样做,我会做这样的事情:

$myLists
    .find(".panel")
        .hide()
        .end()
    .find(".tabs a.active")
        .removeClass("active")
        .end()
    .find($this.attr("href"))
        .fadeIn(250);

通过这种方式缩进代码,您可以准确地查看在任何给定时间正在处理的元素。正如我所说,这是一个偏好问题或你的房屋编码风格。