jquery是如何解决在dom对象中没有getElementsByClassName接口这个问题的

看了jquery源码没看懂... 看了jquery源码没看懂 展开
 我来答
阿刚炖蛋
2013-08-29 · TA获得超过3004个赞
知道大有可为答主
回答量:1789
采纳率:92%
帮助的人:994万
展开全部
你好!!

jquery通过$(".ClassName")来引用符合ClassName的元素~~
举例:
<div class="test"><span class="hello">Hello,Friend</span></div>

通过$(".test")可以返回一个jQuery对象,其本质为div元素的封装······
同理,$(".hello")返回的是一个封装后的span对象。

可能我之前没有理解你问题的重点,你是想问关于源码层面的实现方式么?

记得以前看过源码,这个地方最后会调用jquery的find()方法。

应该是没有原生js方法来的快,仁者见仁吧··
追问
我的重点就是,有些浏览器没有getElementsByClassName这个接口,但是jquery也没有重写这个方法,却可以通过$(".classname")选择器获得元素
追答
// Speed-up: Sizzle(".CLASS")
}else if ( (m=match[3]) && support.getByClassName && context.getElementsByClassName ) {
    push.apply( results, slice.call(context.getElementsByClassName( m ), 0) );
    return results;
}

其实是有调用到的··

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhaoapk
2013-08-29 · TA获得超过3771个赞
知道大有可为答主
回答量:1343
采纳率:40%
帮助的人:1608万
展开全部
如果不支持这个方法的话,会查询所有标签吧。
所以提供标签名会更快。因为可以先用getElementsByTagName获取所有标签。
然后循环这个标签。
更多追问追答
追问
我想也应该是这样的,看了半天源码也没发现它怎么做的
追答
我想也是的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式