收藏本站|设为首页

您现在的位置: 首页 > 新闻中心 > 建站经验 > 详细内容

教你怎么用Jquery

2013-08-13 14:42 来源: 卓杰科技(www.zhuojie.cc) [ ]
    Jquery是继prototype之后又一个优秀的Javascript框架。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。
jQuery是现在最流行的JavaScript工具库。据统计,目前全世界57.3%的网站使用它。也就是说,10个网站里面,有6个使用jQuery。如果只考察使用工具库的网站,这个比例就会上升到惊人的91.7%。
下面就探讨如何用JavaScript标准语法,取代jQuery的一些主要功能,做到jQuery-free。
一、DOM操作
DOM本身就具有很丰富的操作方法,可以取代jQuery提供的操作方法。
尾部追加DOM元素。
  // jQuery写法
  $(parent).append($(child));
  // DOM写法
  parent.appendChild(child)
头部插入DOM元素。
  // jQuery写法
  $(parent).prepend($(child));
  // DOM写法
  parent.insertBefore(child, parent.childNodes[0])
删除DOM元素。
  // jQuery写法
  $(child).remove()
  // DOM写法
  child.parentNode.removeChild(child)
二、事件的监听
jQuery的on方法,完全可以用addEventListener模拟。
  Element.prototype.on = Element.prototype.addEventListener;
为了使用方便,可以在NodeList对象上也部署这个方法。
  NodeList.prototype.on = function (event, fn) {
    []['forEach'].call(this, function (el) {
      el.on(event, fn);
    });
    return this;
  };
三、事件的触发
jQuery的trigger方法则需要单独部署,相对复杂一些。
  Element.prototype.trigger = function (type, data) {
    var event = document.createEvent('HTMLEvents');
    event.initEvent(type, true, true);
    event.data = data || {};
    event.eventName = type;
    event.target = this;
    this.dispatchEvent(event);
    return this;
  };
在NodeList对象上也部署这个方法。
  NodeList.prototype.trigger = function (event) {
    []['forEach'].call(this, function (el) {
      el['trigger'](event);
    });
    return this;
  };
四、document.ready
目前的最佳实践,是将JavaScript脚本文件都放在页面底部加载。这样的话,其实document.ready方法(jQuery简写为$(function))已经不必要了,因为等到运行的时候,DOM对象已经生成了。
五、attr方法
jQuery使用attr方法,读写网页元素的属性。
  $("#picture").attr("src", "http://url/to/image");
DOM元素允许直接读取属性值,写法要简洁许多。
  $("#picture").src = "http://url/to/image";
需要注意,input元素的this.value返回的是输入框中的值,链接元素的this.href返回的是绝对URL。如果需要用到这两个网页元素的属性准确值,可以用this.getAttribute('value')和this.getAttibute('href')。

本页关键词:

上一篇:建站十种小技巧 下一篇:写程序时常被忽略的一些细节