【问题标题】:.parent().parent().parent() vs .closest("li") [closed].parent().parent().parent() 与 .closest("li") [关闭]
【发布时间】:2013-12-09 05:24:25
【问题描述】:

在搜索 DOM 时,哪个更可取?

var li = el.parent().parent().parent();

var li = el.closest("li");

假设父 <li> 总是正好是上面的 3 个元素。

【问题讨论】:

标签: javascript jquery performance


【解决方案1】:

.closest()

  • 更高的关注点分离度 - 不会因为微小的结构变化而破坏行为 (JS) - 即将目标元素包装在 <div><span> 中以进行样式设置;
  • 可读性 - 更清楚地指示最终目标(共同祖先);
  • 干/短代码。

【讨论】:

    【解决方案2】:

    虽然我投票结束(“主要基于意见”),但我总是建议closer(),因为它既具有可读性,又因为它将代码从 DOM 的精确结构中抽象出来;所以将起始元素包裹在另一个元素中不会导致它中断,也不会删除包裹元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-11
      • 2014-09-09
      • 2012-01-04
      • 1970-01-01
      • 2011-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多