jquery和prototype比较,以及冲突解决
2007-03-14 10:34
477 查看
初次试用jQuery,到底是prototype好还是jquery好?
之前的项目已经使用了prototype,现加入jquery后,立刻罢工,搜了一下,还是有解决办法的(原文),不过最后我还是抛弃prototype,开始使用jquery了。
<script src="prototype.js"></script>
<script src="http://blogbeta.blueidea.com/jquery.js"></script>
<script type="text/javascript">
jQuery.noConflict();
</script>
注意:一定要先引入prototype.js 再引入jquery.js,先后顺序不可错。
如果先包含jQuery,将引起代码终止,作为提醒,jQuery将抛出一个异常:“You are overwriting jQuery, please include jQuery last."
prototype中最方便的函数莫过于
<input id="blueidea" value="蓝色" type="text" />
$("blueidea") === document.getElementById("blueidea") 某id的对象
$F("blueidea") === document.getElementById("blueidea").value 表单的值
如今使用jquery,这些都没有了。
$("#id") 这样虽然也可以获得某id的对象,但是不能对此id进行常规的js操作。(也许有方法,不过我还不会。)
例如
<input id="blue" value="蓝色" type="text" />
<div id="idea">蓝色理想</div>
现在改为
id="blue"的值"蓝色"改为 "经典";
id="idea"的节点文字"蓝色理想"改为"<b>经典论坛</b>"
prototype写法:
$("blue") .value="http://blogbeta.blueidea.com/经典";
$("idea").innerHTML="<b>经典论坛</b>"; 或者
Element.update("idea", "<b>经典论坛</b>");
这些都不能这么写,而要用
jquery写法:
$("#blue") .val("经典");
$("#idea").empty(); //先置空此元素
$("#idea").append("<b>经典论坛</b>"); //再添加新的字符串
如果你把prototype换成jquery了,但是还想使用prototype中的方便函数
建议自己定义两个函数
function $G(id){
return document.getElementById(id);
}
function $F(id){
return $G(id).value;
}
以前的javascript思想要改变了,用了jquery一切就要jquery的规范来,好处就是不用担心浏览器兼容性了,反正用的是jquery的函数,不兼容就是他的问题了,如果是自己随意写,就有浏览器的兼容性问题。
目前为止prototype最方便就是有chm手册,查询起来很方便,而jquery只有英文的api文档,虽然也不错,但还是期待jquery的中文chm。
之前的项目已经使用了prototype,现加入jquery后,立刻罢工,搜了一下,还是有解决办法的(原文),不过最后我还是抛弃prototype,开始使用jquery了。
<script src="prototype.js"></script>
<script src="http://blogbeta.blueidea.com/jquery.js"></script>
<script type="text/javascript">
jQuery.noConflict();
</script>
注意:一定要先引入prototype.js 再引入jquery.js,先后顺序不可错。
如果先包含jQuery,将引起代码终止,作为提醒,jQuery将抛出一个异常:“You are overwriting jQuery, please include jQuery last."
prototype中最方便的函数莫过于
<input id="blueidea" value="蓝色" type="text" />
$("blueidea") === document.getElementById("blueidea") 某id的对象
$F("blueidea") === document.getElementById("blueidea").value 表单的值
如今使用jquery,这些都没有了。
$("#id") 这样虽然也可以获得某id的对象,但是不能对此id进行常规的js操作。(也许有方法,不过我还不会。)
例如
<input id="blue" value="蓝色" type="text" />
<div id="idea">蓝色理想</div>
现在改为
id="blue"的值"蓝色"改为 "经典";
id="idea"的节点文字"蓝色理想"改为"<b>经典论坛</b>"
prototype写法:
$("blue") .value="http://blogbeta.blueidea.com/经典";
$("idea").innerHTML="<b>经典论坛</b>"; 或者
Element.update("idea", "<b>经典论坛</b>");
这些都不能这么写,而要用
jquery写法:
$("#blue") .val("经典");
$("#idea").empty(); //先置空此元素
$("#idea").append("<b>经典论坛</b>"); //再添加新的字符串
如果你把prototype换成jquery了,但是还想使用prototype中的方便函数
建议自己定义两个函数
function $G(id){
return document.getElementById(id);
}
function $F(id){
return $G(id).value;
}
以前的javascript思想要改变了,用了jquery一切就要jquery的规范来,好处就是不用担心浏览器兼容性了,反正用的是jquery的函数,不兼容就是他的问题了,如果是自己随意写,就有浏览器的兼容性问题。
目前为止prototype最方便就是有chm手册,查询起来很方便,而jquery只有英文的api文档,虽然也不错,但还是期待jquery的中文chm。
相关文章推荐
- jquery和prototype比较,以及冲突解决(转)
- jquery和prototype比较,以及冲突解决
- Jquery与其它js框架(MooTools以及Prototype、Dojo、YUI等等)之间共享冲突的解决办法
- jquery和prototype冲突解决
- jQuery和Prototype的兼容性和冲突的五种解决方法
- jquery和prototype冲突解决
- jquery和prototype冲突解决
- jquery和prototype冲突解决
- prototype和jquery冲突 解决方法
- jQuery和Prototype的兼容性和冲突的五种解决方法
- jQuery和prototype冲突的解决办法:
- Magento中使用jQuery与Prototype库冲突的解决办法
- prototype 和jquery 冲突的解决办法
- 求项目中遇到的jquery 和 prototype 冲突解决方式??在线等待·····
- Dwr与Jquery冲突解决办法以及DWR调用问题
- 03-JQuery和prototype框架冲突解决
- 找到了一篇jQuery与Prototype并存的冲突的解决方法
- jQuery与prototype冲突的解决办法
- jQuery validate插件与prototype.js冲突的解决办法
- 同时调用prototype与jquery冲突解决方法