jquery嵌套问题! 15
下面那个速度更加快呢?真的find方法更好吗,为什么不少大网站都不用呢?为了代码更加整洁吗?$("#menu_listli").click(function(){...}...
下面那个速度更加快呢?真的find方法更好吗,为什么不少大网站都不用呢?为了代码更加整洁吗?
$("#menu_list li").click(function(){...}
$("#menu_list").find("li").click(function(){...}
刚刚在网上搜索的的答案!
http://baike.baidu.com/view/4663033.htm
Sizzle则采取了相反Right To Left的实现方式,先搜寻页面中所有的<li>标签,再其后的操作中才去判断它的父节点(包括父节点以上)是否为#menu_list,是则压入数组,否则pass,进入下一判断,最后返回该操作序列。 展开
$("#menu_list li").click(function(){...}
$("#menu_list").find("li").click(function(){...}
刚刚在网上搜索的的答案!
http://baike.baidu.com/view/4663033.htm
Sizzle则采取了相反Right To Left的实现方式,先搜寻页面中所有的<li>标签,再其后的操作中才去判断它的父节点(包括父节点以上)是否为#menu_list,是则压入数组,否则pass,进入下一判断,最后返回该操作序列。 展开
2个回答
展开全部
第一个是直接在页面上遍历,找id为menu_list 的元素,然后找到便签为li的节点,绑定方法
第二种是遍历页面元素,找到id为menu_list的,然后调用脚本时,再find(其实也是遍历)找到便签为li的元素
具体哪个更快。。。个人认为速度上应该没什么差距,只是如果页面较大,速度上差距应该也没什么,但消耗资源上,第一种是直接在页面找到li,把找到的调入脚本中,第二种是在页面找到menu_list 再在脚本中筛选出li,可见如果页面很大元素很多的话,第二种会带来很多的内存开销!本人的见解非官方仅供参考!
第二种是遍历页面元素,找到id为menu_list的,然后调用脚本时,再find(其实也是遍历)找到便签为li的元素
具体哪个更快。。。个人认为速度上应该没什么差距,只是如果页面较大,速度上差距应该也没什么,但消耗资源上,第一种是直接在页面找到li,把找到的调入脚本中,第二种是在页面找到menu_list 再在脚本中筛选出li,可见如果页面很大元素很多的话,第二种会带来很多的内存开销!本人的见解非官方仅供参考!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$("#menu_list li").click(function(){...} 推荐都是用这种写法,
就算是样式也推荐:
$("div.mydiv")
$("input.myinput")
在使用选择器的时候都推荐标签 + 属性 + 样式, 这样速度快一点。
如果另有需求的话,也只能用find 了,如:
为了不重复查找:
var list = $("#menu_list");
list.find("li").each(); // 1. 找儿子
list.css("background","red"); // 2 .修改背景色
需要对 list 做两件时 所以,还是需要用到 find
就算是样式也推荐:
$("div.mydiv")
$("input.myinput")
在使用选择器的时候都推荐标签 + 属性 + 样式, 这样速度快一点。
如果另有需求的话,也只能用find 了,如:
为了不重复查找:
var list = $("#menu_list");
list.find("li").each(); // 1. 找儿子
list.css("background","red"); // 2 .修改背景色
需要对 list 做两件时 所以,还是需要用到 find
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询