.parent()。parent()。parent()vs .closest(“li”)

时间:2013-12-08 21:10:15

标签: javascript jquery performance

搜索DOM时,哪个更好?

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

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

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

2 个答案:

答案 0 :(得分:1)

.closest()

  • 更高的关注点分离 - 由于较小的结构更改而不会破坏行为(JS) - 也就是说,将目标元素包装在<div><span>中以进行样式设计;
  • 可读性 - 更清楚地表示最终目标(共同祖先);
  • 干/短代码。

答案 1 :(得分:1)

虽然我投票结束('主要基于意见'),但我总是建议closer(),因为它可读性和因为它从DOM的精确结构中提取代码;所以将起始元素包装在另一个元素中不会导致它破坏,也不会删除包装元素。