jQuery基础知识

js与jQuery的比较与区别

js是脚本语言
jquery是用js开发出来的架构

1 定位元素
JS
document.getElementById("abc")

jQuery
$("#abc") 通过id定位
$(".abc") 通过class定位
$("div") 通过标签定位

需要注意的是JS返回的结果是这个元素,jQuery返回的结果是一个JS的对象。以下例子中假设已经定位了元素abc。

2 改变元素的内容
JS
abc.innerHTML = "test";
jQuery
abc.html("test");

3 显示隐藏元素
JS
abc.style.display = "none";
abc.style.display = "block";

jQuery
abc.hide();
abc.show();

abc.toggle();
//在显示和隐藏之间切换(2012.4.21更新)

4 获得焦点

JS和jQuery是一样的,都是abc.focus();

5 为表单赋值
JS
abc.value = "test";
jQuery
abc.val("test");

6 获得表单的值
JS
alert(abc.value);
jQuery
alert(abc.val());

7 设置元素不可用
JS
abc.disabled = true;
jQuery
abc.attr("disabled", true);

8 修改元素样式
JS
abc.style.fontSize=size;
jQuery
abc.css(‘font-size‘, 20);

JS
abc.className="test";
JQuery
abc.removeClass();
abc.addClass("test");

9 Ajax
JS
自己创建对象,自己处理浏览器兼容等乱七八糟的问题,略去不表
jQuery
$.get("abc.php?a=1&b=2", recall);
postvalue = "a=b&c=d&abc=123";
$.post("abc.php", postvalue, recall);

function recall(result) {
alert(result);
//如果返回的是json,则如下处理
//result = eval(‘(‘ + result + ‘)‘);
//alert(result);
}

10 判断复选框是否选中
jQuery
if(abc.attr("checked") == "checked")
注意:网上说的.attr("checked") == true实际上不能用,上面这个测试过能用

二、语法总结和注意事项

1、关于页面元素的引用
通过jquery的$()引用元素包括通过id、class、元素名以及元素的层级关系及dom或者xpath条件等方法,且返回的对象为jquery对象(集合对象),不能直接调用dom定义的方法。如:

1.      $("#msg").html();-->通过ID

2.     
$("div").html(); $("input").val(); -->通过元素名(jQuery获取的是一个集合)

3.     
$("div p");             -->第一行代码得到所有<div>标签下的<p>元素。

4.     
$("div.container")      -->第二行代码得到 class为container的<div>元素

5.     
$("div #msg");          -->第三行代码得到<div>标签下面id为msg的元素。

6.     
$("table a",context);   -->第四行代码得到context为上下文的table里面所有的连接元素。

2、jQuery对象与dom对象的相互转换
2.1只有jquery对象才能使用jquery定义的方法。注意dom对象和jquery对象是有区别的,普通的dom对象一般可以通过$()转换成jquery对象。
如:$(document.getElementById("msg"))则为jquery对象,可以使用jquery的方法。

2.2由于jquery对象本身是一个集合。所以如果jquery对象要转换为dom对象则必须取出其中的某一项,一般可通过索引取出。
如:$("#msg")[0],$("div").eq(1)[0],$("div").get()[1],$("td")[5]这些都是dom对象,可以使用dom中的方法,但不能再使用Jquery的方法。

以下几种写法都是正确的:

1.      $("#msg").html();

2.      $("#msg")[0].innerHTML;

3.      $("#msg").eq(0)[0].innerHTML;

4.     
$("#msg").get(0).innerHTML;

对于获取的元素集合,获取其中的某一项(通过索引指定)可以使用eq或get(n)方法或者索引号获取,要注意,eq返回的是jquery对象,而
get(n)和索引返回的是dom元素对象。如要获取第三个
<div>元素的内容。有如下两种方法:

1.      $("div").eq(2).html();              调用jquery对象的方法

2.      $("div").get(2).innerHTML;       调用dom的方法属性

3、同一函数实现set和get
Jquery中的很多方法都是如此,主要包括如下几个:

1.     
$("#msg").html();              返回id为msg的元素节点的html内容。

2.     
$("#msg").html("<b>new content</b>");       
将“<b>new content</b>” 作为html串写入id为msg的元素节点内容中,页面显示粗体的new content

3.     
$("#msg").text();              返回id为msg的元素节点的文本内容。

4.     
$("#msg").text("<b>new content</b>");      
    将“<b>new content</b>” 作为普通文本串写入id为msg的元素节点内容中,页面显示<b>new content</b>

5     
$("#msg").height();              返回id为msg的元素的高度

6     
$("#msg").height("300");       将id为msg的元素的高度设为300

7    
$("#msg").width();              返回id为msg的元素的宽度

8

操作元素的样式
主要包括以下几种方式:
1.     $("#msg").css("background");              //返回元素的背景颜色
2.     $("#msg").css("background","#ccc")       //设定元素背景为灰色
3.     $("#msg").height(300); $("#msg").width("200");       //设定宽高
4.     $("#msg").css({ color: "red", background: "blue" });//以名值对的形式设定样式
5.     $("#msg").addClass("select");       //为元素增加名称为select的class
6.     $("#msg").removeClass("select");       //删除元素名称为select的class
7.     $("#msg").toggleClass("select");       //如果存在(不存在)就删除(添加)名称为select的class   

6、完善的事件处理功能
Jquery已经为我们提供了各种事件处理方法,我们无需在html元素上直接写事件,而可以直接为通过jquery获取的对象添加事件。
如:
1.     $("#msg").click(function(){alert("good")})    //为元素添加了单击事件
2.     $("p").click(function(i){this.style.color=[‘#f00‘,‘#0f0‘,‘#00f‘][i]})   //为三个不同的p
元素单击事件分别设定不同的处理
jQuery中几个自定义的事件:
(1)hover(fn1,fn2):当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数。当鼠标移出这个元素时,会触发指定的第二个函数。
1.     //当鼠标放在表格的某行上时将class置为over,离开时置为out。
2.     $("tr").hover(function(){
3.     $(this).addClass("over");
4.     },
5.            function(){
6.            $(this).addClass("out");
7.     });   

(2)ready(fn):当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。
1.     $(document).ready(function(){alert("Load Success")})
2.     //页面加载完毕提示“Load Success”,不同于onload事件,onload需要页面内容加载完毕(图片等
3.     ),而ready只要页面html代码下载完毕即触发。与$(fn)等价
(3)toggle(evenFn,oddFn): 每次点击时切换要调用的函数。如果点击了一个匹配的元素,则触发指定的第一个函数,当再次点击同一元素时,则触发指定的第二个函数。随后的每次点击都重复对这两个函数的轮番调用。
1.     //每次点击时轮换添加和删除名为selected的class。
2.     $("p").toggle(function(){
3.            $(this).addClass("selected");
4.     },function(){
5.            $(this).removeClass("selected");
6.     });
(4)trigger(eventtype): 在每一个匹配的元素上触发某类事件。例如:
1.     $("p").trigger("click");       //触发所有p元素的click事件
(5)bind(eventtype,fn),unbind(eventtype): 事件的绑定与反绑定从每一个匹配的元素中(添加)删除绑定的事件。例如:
1.     $("p").bind("click", function(){alert($(this).text());});
2.     //为每个p元素添加单击事件
3.     $("p").unbind();       //删除所有p元素上的所有事件
4.     $("p").unbind("click")       //删除所有p元素上的单击事件
7、扩展我们需要的功能
1.     $.extend({
2.            min: function(a, b){return a < b?a:b; },
3.            max: function(a, b){return a > b?a:b; }
4.     });       //为jquery扩展了min,max两个方法
使用扩展的方法(通过“$.方法名”调用):
1.     alert("a=10,b=20,max="+$.max(10,20)+",min="+$.min(10,20));
----------->ajax编程,请见其它笔记.
8、渐入淡出
1.     $("#msg").fadeIn("fast");
2.     $("#msg").fadeOut("slow"); 

$("#msg").width("300");       将id为msg的元素的宽度设为300

9    
$("input").val(");       返回表单输入框的value值

10  
$("input").val("test");       将表单输入框的value值设为test

11.  
$("#msg").click();       触发id为msg的元素的单击事件

12.  
$("#msg").click(fn);       为id为msg的元素单击事件添加函数

同样blur,focus,select,submit事件都可以有这两种调用方法

时间: 2024-10-23 10:36:10

jQuery基础知识的相关文章

JQuery基础知识(2)

JQuery基础知识(2) JQuery滑动效果 1. JQuery slideDown(); 语法: $(selector).slideDown(speed,callback); 可选的 speed 参数规定效果的时长.它可以取以下值:"slow"."fast" 或毫秒. 可选的 callback 参数是滑动完成后所执行的函数名称. 2.JQuery slideUp();用于向上滑动元素 语法: $(selector).slideUp(speed,callback

JQuery基础知识(1)

JQuery基础知识(1) 对JQuery学习中遇到的小细节进行了整理和总结 1.JQuery hide()和show()方法,分别对选中的元素进行隐藏和显示,语法:hide()和show分别有对应的参数,即hide(speed);隐藏的速度进行了限定.hide(1000)/show(1000); 2.JQuery toggle()方法用来切换hide()和show();可以用speed参数进行控制显示和隐藏的速度. JQuery的淡入淡出 1.JQuery fadeIn();此方法可以携带不同

jQuery基础知识总结

1.  jQuery基本概念介绍   1.1 什么是jQuery 一个javascript库,把常用方法写到一个js文件中,需要的时候直接调用即可 学习jQuery就是学习一些方法 1.2 为什么要学习jQuery write less do more 1.3 jQuery的使用 a.引包     b.入口函数     c.实现功能 1.4 版本介绍 3个版本 1.x      2.x     3.x 其中版本1兼容IE6/7/8,版本2和3实现的功能更多一些,版本3更适合最新的浏览器 每个大版

JavaScript,jQuery基础知识

JavaScript基础:JavaScript是一门可以嵌入html代码中,直接由浏览器即可执行的编程语言. jQuery:jQuery是一个优秀的JavaScript库,可以极大的简化日常中使用JavaScript的复杂度. jQuery UI:jQuery UI是以jQuery为基础的开源JavaScript网页用户界面代码库. jQuery Mobile:jQuery Mobile是jQuery在手机上和平板设备上的版本. 一.客户端(浏览器)JavaScript功能(由网景公司95年创立

jquery基础知识基本使用概述(1)

jQuery基本介绍 为什么要学jQuery [01-让div显示与设置内容.html] 使用JS操作DOM的时候,会遇到以下的一些缺点: //1. 获取元素的方法太少且长,麻烦.//2. 遍历伪数组很麻烦,通常要嵌套一大堆的for循环.//3. 注册的事件会覆盖.//4. 有兼容性问题.//5. 实现动画很麻烦 初体验 [02-让div显示与设置内容.html] $(document).ready(function () {    $("#btn1").click(function

jQuery基础知识&mdash; 获得内容和属性

jQuery拥有可操作HTML元素和属性的方法.   获得内容: text()--设置或返回所选元素的文本内容 html()--设置或返回所选元素的内容(包括HTML标记) val()--设置或返回表单字段的值 获取属性: attr()方法用于获取属性值 例如: 1 $("button").click(function(){ 2 alert($("#w3s").attr("href")); 3 });   jQuery文档操作参考手册 方法 描述

jQuery基础知识--选择器与效果

$(this).hide()-----隐藏当前元素 $("p").hide()------隐藏所有段落 $(".test").hide()--隐藏所有class="test"的元素 $("#test").hide()--隐藏所有id="test"的元素 文档就绪函数 $(document).ready(function() {     ---------jQuery function go here----

JQuery基础知识学习1

1.JQuery是javascript的类库 2.下载JQuery 3.导入JQuery <script src="jquery-3.0.0.js"></script> 4.JQuery的基本功能 http://www.php100.com/manual/jquery/ 5.用JQuery实现点击按钮返回页面顶部的功能 //里面用到了Jquery里面的事件-scroll ,当页面滚动条发生变化执行的函数 $(window).scroll( function() 

jquery基础知识1

jquery 的 $.each,$.trim,$.map三种基本方法 1.$.each() 作用 :相当于for 对数组元素进行遍历 也可以对json对象,键值对对象遍历  通过回调函数实现 var arrInt=[1,2,3,4,5]; $.each(arrInt,function(key,value){ if(key==2) return false;//相当于break; alert(key+" "+value); }); // var p={'name':'zhangsan',