JQUERY 基本用法

12/5/2010 2:20:28 PM

一、 Jquery 头标题位置

第一行 <script src=”jquery.js” type=”text/javascript”></script>

第二行自定义标签 <script src=”alice.js” type=”text/javascript”></script>

二、           <!-- [endif]-->Jquery 选择符

    1. 工厂函数

$( )

标签名: $(‘p’) 会取得文档中所有的段落

ID : $(‘#some-id’) 会取得文档中具有对应的 some-id ID 的一个元素。

类: $(‘.some-class’) 会取得文档中带有 some-class 类的所有元素。

      2.  层次选择符

$(‘from input’)

$(‘#selected-plays>li’).addClass(‘horizontal’); 其中 > 表示子元素的顶项

$("ul li:nth-child(2)") 在每个 ul 中查找查找第 2 个 li

$("ul li:first-child") 在每个 ul 中查找第一个 li

$("ul li:last-child") 在每个 ul 中查找最后一个 li

      3. XPath 选择符

$(‘a[@title]’) 选择带有 title 属性的 a 标签 @ 表示指向属性

$(‘div[ol]’) 选择 div 里的 ol 标签

$(‘a[@href^=”mailto:”]’) 选择属性以 mailto 开头的元素,关键字符 ^

$(‘a[@href$=”.pdf”]’) 选择属性以 .pdf 结尾的元素,关键字符 $

$(‘a[@href*=”mysite.com”]’) 选择任意含有才值的元素,关键字符 *

      4.  自定义选择符

$("tr:first") 选择第一行 tr

$(‘tr:last’) 选择最后一行 tr

$(‘div.horizontal:eq(1)’) 选择此类中第 2 个元素,关键字符 eq()

$(‘div form[1]’) 选择 div 中是 form 的第二个 form 元素

$(‘tr:odd’) 选择所有 tr 的奇数元素 关键字符 odd

$(‘tr:even’) 选择所有 tr 的偶数元素 关键字符 even

$("tr:gt(0)") 选择大于 tr 第一行的 tr

$("tr:lt(2)") 选择小于 tr 第三行的 tr

$(":header").css("background", "#EEE") 为 h1,h2,h3 加背景色

$("td:empty") 选择不含有子元素或不含有文本的元素

$("td:parent") 选择含有子元素或是有文本的元素

$(‘td:contains(“Henry”)’) 选择 td 内包换 Henry 的所有元素。

$(‘#selected-plays li:not(.horizontal)’).addClass(‘sub-level’);

       5.  表单选择符

$(‘:input’)

$(‘:text’)

$(‘:password’)

$(‘:radio’)

$(‘:checkbox’)

$(‘:submit’)

$(‘:reset’)

$(‘:button’)

$(‘:file’)

$(‘:hidden’)

$(‘input:disabled’) 查询所有不可有的 input 元素

$(‘input:checked’) 查询所有选中的复选框

$("select option:selected") 查询所有选中的选项元素

三、 事件

      1.  在页面加载后执行事件

$().ready(function(){   });

      2.  为元素添加事件

$(‘body’).bind(‘click’,function(){

        // 编写事件触发时执行。。。

    // 这里为元素添加类为 addClass(‘’);

        // 移除类为 removeClass(‘’); 当括号内为空时移除所有类

});

简写事件

.bind(‘click’,function(){}); 可以写成 .click(function{});

      3.  复合事件

.toggle(function{

},function{

}); 将完成对指定元素两次才做而执行的两个函数

.hover(function{

},function{

}); 当鼠标滑入滑指定元素的时候执行的两个函数

.taggle() 对于添加,删除类更优雅的做法

.toggleClass(‘hidden’);

      4. 限制和终止事件

This 与 event.target

This 指代的是事件说定义元素

Event.target 是实际被出发的元素 如单击的

            a) 必要的判断来组织时间的捕获和冒泡

If(event.target==this)

            b)  停止事件传播

event.stopPropagation(); 来中止时间的传播

          c) 中止默认事件如 submit 锚元素

.preventDefault()

          d)  中止事件

.unbind(‘click’,toggleStyleSwitcher); 移除 click 对应的事件

四、 效果

      1.  修改内联 CSS

.css(‘ 属性 ’) 可以得到该属性的值

.css(‘ 属性 ’,’ 值 ’) 可以设置对应属性的值

Var num=parseFloat(‘ 字符串 ’ , 10) 返回数字字符串转化为 10 进制数值常用于设置 css 的属性值

.slice(-2) 返回字符串的后两个字符

.height() 返回指定元素的高度

.height(val) 设置元素的高度

.width() 返回元素的宽度

.width(val) 设置元素的宽度

      2.  基本隐藏和显示 .hide() .show() 不带任何参数

对指定元素进行隐藏或显示

      3. 效果和速度

默认速度分为: slow 、 normal 、 fast

显示效果速度

.show(slow) 显示速度为慢

.hide(fast) 隐藏效果为快

淡入淡出效果

.fadeIn(slow) 为指定元素增加淡入效果

.fadeOut(slow) 为指定元素增加弹出效果

不透明度效果

fadeTO()

滑入滑出视图

.slideUp(‘slow’) 滑出视图

.slideDown(‘slow’) 滑入视图

      4.  多重效果

.animate({parma1:’value1’,param2:’value2’},speed,function(){
})

      5.  并发与排队效果

对于同一个元素的多种效果的排队为

$().animate()

  .animate()

          对于不同元素的效果排队为使用回调函数

$(). animate({parma1:’value1’,param2:’value2’},speed,function(){

        $().animate()

})

五、 基于命令改变页面

      1.  操作属性

.attr({‘rel’:’external’}) 为指定元素添加 rel 属性值为 external

.removeAttr() 为指定元素删除属性

      2.  遍历方法

.each() 遍历可以遍历 class 中的每个元组并给他们分配方法

      3. 通过工厂函数创建元素

$(‘<a href=”#top”>back to top</a>’) 创建 a 标签

$(‘<a id=”top”></a>’) 创建标签并用来指定上个标签中 href 的锚点

      4.  插入新元素

在相邻元素位置上插入

$(‘ 创建标签 ’).insertBefore(‘div.chaper p’) 将创建标签插入

$(‘ 插入目标 ’).before(‘ 创建新标签 ’) 将创建标签插入

.insertAfter() 和 .after() 与上相仿

在元素内插入

.append()

.appendto()

.prepend()

.prependto()

      5.  移动元素

$(‘span.footnote’).insertBefore(‘#footer’) 将元素 span.footnote 移动到 #footer 之前

      6.  包装元素

.warp('<li id=”foot-note-”></li>’) 将指定元素包装上 li 标签

      7.  复制元素

$(‘’).clone() 克隆指定元素

$(‘’).clone(false) 克隆标签而不克隆内容

      8.  移除元素

$(‘’).remove() 移除指定元素

六、 AJAX

用 AJAX 加载数据

      1. 追加 HTML

$(‘#dictionary’).load(‘a.html’); 将 .load() 中内容加载到 dictionary 中

这里 a.html 不是一个完整的 HTML 格式文本而是类似 XML 的 HTML 格式

      2. 操作 javascript 对象

      3.  追加脚本(在脚本中写入 script 对象)

      4.  加载 XML 文档

            a) XML 文档格式 见电子书

            b)  $.get(‘d.xml’,function(data){

//data 是返回的 XML 数据这里要对 data 进行遍历操作

})

       用 AJAX 访问服务器

      5. 执行 get 请求

$.get(‘e.php’,{‘term’:$(this),text()},function(data){

$.(‘#dictionary’).html(data);

})

return false; // 当用 a 标签请求时将不使用 a 标签的同步请求。

其中, e.php 是要加载的格式;{}里的内容是向服务器发送的参数

最后将数据插入 dictionary

      6.  执行 post 请求

$.post(‘e.php’,{‘term’:$(this).text()},function(data){

        $(‘#dictionary’).html(data);

})

return false; // 不使用 a 标签进行同步请求

.load 方法与 post 相同,上述代码可写为

$(‘#dictionary’).load(‘e.php’,{‘term’:$(this).text()});

return false;

      7. 序列化表单

$(‘#dictionary’).load(‘f.php’,{‘term’:$(‘input[@name=”term”]’)})

      8.  关注请求

当 AJAX 请求开始尚未进行其他传输时,触发 .ajaxStart()

当最有一次活动请求中止时,触发 .ajaxStop()

$(‘#loading’).ajaxStart(function(){

        $(this).show();

}).ajaxStop(function(){

        $(this).hide();

});

七、 Jquery 核心函数

      1. size() 方法 length() 方法

$(‘’).size(); 返回指定元素的数量返回值为 number 类型。

      2. get() 方法与 reverse() 方法

$(‘td’).get().reverse(); 返回 td 元素的类型数组,并让数组反向

$(‘’).get(0); 选择指定元素中的第 1 个元素

      3. index() 方法

$(‘*’).index($(‘td’)[0]); 查找 td 的第一个元素返回他所在 document 中的节点数

      4. jquery 的扩展自定义方法

定义单选框是否被点击

jQuery.fn.extend({

check: function() {

return this.each(function() { this.checked = true; });

  },

uncheck: function() {

return this.each(function() { this.checked = false; });

  }

});

定义最大值最小值

jQuery.extend({

min: function(a, b) { return a < b ? a : b; },

max: function(a, b) { return a > b ? a : b; }

});

      5. 文本操作

$(‘’).text() 得到元素的文本内容

$(‘’).text(val) 设置文本的内容

      6. select 与 input 值操作

$(‘’).val() 返回一个 select 或 input 的内容

$(‘’).val(“”) 设置 select 或 input 的内容

      7. 筛选方法 ( 纯 BOM)

.eq( 数字 ) 选择找出界面元素数组中的第‘数字 +1’ 位元素

$(this).hasClass("protected") 返回指定元素中是否含有 protected 类

xxx.is(‘b’) 判断 xxx 是否为 a 是返回 true

数组 .map(function(){return $(this).xxx}) 返回每一个元素的 xxx 的数组

$(‘’).not(‘:contains(“Henry”)’) 删除选择指定元素中不包含 Henry 的元素

.find(‘’) 搜索指定的元素

$(‘’).children(‘td’) 选择元素的所有第一代子元素中为 td 的元素

.contents() 选择指定元素的所有子节点,注意是节点不是子元素

$(‘’).find(‘td:gt(0)’) 选择指定元素中所有编号大于 1 的单元格

$(‘’).next() 选择指定元素同辈的下一个元素

$(‘’).prev() 选择指定元素同辈的前一个元素

$(‘’).Parent() 选择元素的父亲节点 , 此父亲节点为最近的一个父亲