当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
jquery和prototype的比较
发布时间:2010/7/7 10:36:38 来源:城市学习网 编辑:ziteng
  初次试用jQuery,到底是prototype好还是jquery好?之前的项目已经使用了prototype,现加入jquery后,立刻罢工,搜了一下,还是有解决办法的(原文),不过最后我还是抛弃prototype,开始使用jquery了。
  <script src=”prototype.js” mce_src=”prototype.js”></script>
  <script src=”http://blogbeta.blueidea.com/jquery.js” mce_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>” [NextPage]   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。
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved