首页 > 代码库 > jquery 学习第一课之start
jquery 学习第一课之start
1.$选取符 ( $ == jQuery )
(1) $("div").addClass("special");选取本页面中的所有<div>元素,然后将这些div加上都加上一个名为“special”的CSS样式。(2)$("div")选取所有的div元素。(3)$(“#body”)选取id为body的元素。(4)$("div #body")选取id为body的<div>。(5)$("div.contents p") 选取class为contents的<div>所有的下层<p>元素。(6)$("div>div")选取被<div>包裹的下一层<div>。(7)$("div:has(div)") 选取至少包住一个子<div>的<div>元素。
2. jquery能方便地对DOM 进行操作,比如添加、修改或删除节点,为节点添加事件处理等。
(1)选取所有包含target属性的<a>,并且在其节点下添加一段文字:
$(“a[target]".append(“open in a new window”))
(2)选取id为body的元素,并且修改两个CSS属性:
$("#body").CSS({ border:"1px solid green", height:"40px" });
(3)在提交表单时,判断username字段是否为空,如果为空,则显示help区块内的文字。
$("form").submit(function(){ if($("input #username").val()=="") $("span.help").show(); });
(4)当用户点击id为open的链接时,显示id为menu的区块,并返回false.
$("a # open").click(function(){ $("menu").show(); return false; });
(5)将id为menu的区块以动态下拉效果显示出来。
$("#menu").slideDown("fast");
(6)将所有的<div>渐变为300px宽,文字与边界20px宽.
$("div").animate({ width:‘300px‘, padding:‘20px‘ },‘slow‘);
(7)具有动态效果的回调函数,将所有的<div>以0.5s的动态效果隐藏之后,再以0.5s的动态效果显示。其中$(this)是方法方法调用方的元素。
$("div").hide(500,function({ $(this).show(500); }));
(8) 获取sample.html 并且找出其中所有<div>下层的<h1>,将<h1>中的内容写入id为body的元素中。
$("#body").load("sample.html div>h1");
(9)通过getJSON获得JSON格式的数据,并通过回调方法处理这些数据:
$.getJSON("test.json",function(data){ for(var idx in data) $("#menu").append("<li>"+data[idx]+"</li>"); });
3.链式写法
x选取页面中所有的<div>,然后隐藏它们,修改文字为蓝色并将<div>以下拉的效果显示出来,那么原有的选取操作:
$("div").hide();$("div").CSS("color","blue");$("div").slideDown();
用一行代码来替换就是:
$("div").hide().CSS("color","blue").slideDown();
需要注意的代码:
$("ul.open") //找出文件内所有class为open的<ul>.children //过滤出下一层所有的<li>.addClass(“open”) //对这些<li>新增一个CLASS.end() //再回到前一次的搜索结果,也就是所有的<ul>.find("a") //找出其中所有的<a>.click(function(){ //对<a>新增事件处理$(this).next().toggle();return false;}).end(); //回到前一次的搜索结果
4. Document ready事件
jQuery的document ready事件模拟DOM Content Loaded 事件。
DOM Content Loaded 事件和window.onload 事件的区别在于,DOM Content Loaded 事件开始得更早一些。
并且,window.onload 并没有办法多次指定不同的方法来执行,最后指定的方法回覆盖之前的方法。比如:
window.onload = function(){alert("hello world!");};window.onload = function(){alert("您好");};
如果使用jQuery就可以写成:
$(document).ready(function(){alert(‘hello world!‘);});$(document).ready(function(){alert(‘您好!‘);});
reference:
1.《巧用jquey》 吴超 张帅著。