我目前正在使用或不使用jquery。我花了几个小时研究使用jquery(或任何库)的利弊。
jquery的一大卖点是它让开发人员免于担心浏览器不兼容。我试图找到关于它克服了哪些不兼容性的任何文档。到目前为止,我还没有找到任何。任何人都可以帮我解决这个问题。
答案 0 :(得分:2)
你应该对www.quirksmode.org非常熟悉。
这是一个出色的浏览器兼容性资源。
答案 1 :(得分:1)
我认为您不会找到实际列表,但您可以浏览source code并阅读有关解决某些浏览器不一致问题的某些代码的评论。
// check if target is a textnode (safari)
if ( event.target.nodeType === 3 ) {
event.target = event.target.parentNode;
}
// safari subtracts parent border width here which is 5px
this.supportsFixedPosition = (checkDiv.offsetTop === 20 || checkDiv.offsetTop === 15);
答案 2 :(得分:0)
仅举几例,jQuery实现了在不支持方法document.getElementsByClassName
(即IE 8和之前的版本)的浏览器中按类名选择DOM元素。例如,您可以选择具有类myClass
的所有元素,其中包含以下内容:$('.myClass')
。
jQuery在XMLHttpRequest对象周围有几个有用的包装器,它们对浏览器有不同的支持(参见here)。
此外,jQuery在DOM操作方面会考虑一些差异,例如修改元素的属性或向元素添加类,我记得,这在Firefox / IE中略有不同。
答案 3 :(得分:0)
我所知道的事情很少列在这里:
IE有一个与Mozilla不同的事件模型和一些实现DOM2事件模型的Gecko Borwsers。 jQuery通过引入jQuery事件模型,很好地证明了浏览器的独立性。
IE不支持css3,而Mozilla支持css3。 jQuery选择器独立于浏览器选择器行为。
Mozilla确实支持像document.getElementsByClassName这样的方法,但不是。但是jQuery类选择器也可以解决这个问题。
IE和Mozilla有不同的浮点属性,即它的styleFloat for Mozilla,它的cssFloat jQuery为cssFloat提供了标志,以便唯一地确定它。
jQuery还有另一个标志jQuery.boxModel,它告诉用户你的浏览器支持IE怪癖模式或W3C兼容的boxModel。
答案 4 :(得分:0)
我一直在使用jQuery一段时间了,我可以说26kb它的权重是一个非常小的价格,像许多其他文件只需要下载一次(之后它从缓存加载) 。
<强> 1。 [大量插件]
有许多不同解决方案的插件:画廊,验证,ajax,文件处理等。你也可以使用插件[修复CSS问题]
<强> 2。浏览器兼容性
虽然我无法找到jQuery适用的修复程序的文档列表,但您可以随时查看[源代码],它有很好的文档和分类,因此您可以看到发生的情况。
第3。一致的强>
当你在不同的项目上工作时,如果你继续使用图书馆,你每次都会从中学到更多,并且工作得更快。
<强> 4。社区强>
jQuery可能是javascript库中最大的,它带来了许多优势,如支持,教程和插件。
<强> 5。 DOM操作
jQuery sintax使得操作DOM非常容易,而不是document.GetElementsByTagName(“tag”)你可以做$(“tag”)
<强>底线强>
我可以告诉jQuery为我节省了很多时间,并且让事情变得更容易处理,我完全建议使用库。