【jquery】从javascript过渡的基础学习
---恢复内容开始---
jquery是一个快速,剪辑的javascript的框架。
封装了常用javascript的功能代码,提供一种简便的javascript设计模式,优化html文档操作,动画设计,ajax交互。
1.入门解析
$(document).ready(function(){
$("button").click(function(){
$("p").hide();
});
});
第一部分:“$(document).ready()的个人理解,是指页面在一定的数据框架加载完成后执行的操作。
第二部分:
function(){
$("button").click(function(){
$("p").hide();
});
}
取到button,并渠道p标签,进行hide();
2.语法实例
jQuery 语法实例
- $(this).hide()
- 演示 jQuery hide() 函数,隐藏当前的 HTML 元素。
- $("#test").hide()
- 演示 jQuery hide() 函数,隐藏 id="test" 的元素。
- $("p").hide()
- 演示 jQuery hide() 函数,隐藏所有 <p> 元素。
- $(".test").hide()
- 演示 jQuery hide() 函数,隐藏所有 class="test" 的元素。
$("")是获取dom的方式,比javascript中的方法要简便了许多。
$(this)为之前引用的元素,为$("button").click()中的button元素。
$("p.text")为获取p中text类的标签还有$("p#text")为获取p标签中text为id的标签
$("ul li:first")选取第一个ul的第一个li
$("ul li:first-child")选取每一个ul的第一个li元素
$("a[target='_blank']")选取target为_blank的a元素
$(":button")选取type="button"的元素,input或者button
$("tr:even")选取表格中的偶数位置的tr元素,0算偶数然后表格的位置从0开始。
$(“tr.odd”)选取表格中的奇数位置的tr元素
3.关于jquery
jquery是为事件处理特别设计的,页面对不同访问者的响应叫做事件。
| 鼠标事件 | 键盘事件 | 表单事件 | 文档/窗口事件 |
|---|---|---|---|
| click | keypress | submit | load |
| dblclick | keydown | change | resize |
| mouseenter | keyup | focus | scroll |
| mouseleave | blur | unload |
表单事件等可以选择触发的元素。
例如:$(selector).submit()这里出发submit事件
$(selector).submit(function)这里添加函数到submit事件之中
4.jquery的效果
(1)隐藏与显示效果
对选中的标签进行show(),hide();
可以设置callback的数值来达到延迟的效果
如:$("p").hide(1000);1000毫秒等于1秒,这样可以带有延迟的效果
另外利用toggle可以达到 隐藏/显示的效果,同样可以在括号中添加延迟的效果
(2)淡出淡入的效果
fadeIn() fadeOut() fadeJoggle() 可以添加参数 "slow"或者毫秒来设置速度
另外fadeTo() 有三个参数,第一个是速度,第二个是透明度(例如:0.9),第三个是可选的速度
(3)下滑效果
同理使用:slideUp(),slideDown(),slideToggle()
(4)动画效果(animate函数)
$(selector).animate({params},speed,callback);
比如$("div").animate({left:'250px'})
{params}用于css等属性的设置,比如长宽高颜色 (opacity 透明度等等)
这个{}中用,隔开
另外可以定义相对值,比如说 height:'+=120px'
可以把height等等的属性改成 toggle。
animate是有队列功能的,比如说
div.animate({left:'100px'},"slow"); div.animate({fontSize:'3em'},"slow");
这个语句会先右移动,然后再放大字体。
$("button").click(function(){ $("p").hide("slow",function(){ alert("段落现在被隐藏了"); }); });
利用这个方法,可以让动画进行完,再继续。
(5)动画链
链可以让许多的jQuery方法同时作用在同一个元素上。
比如:$("#p1").css("color","red").slideUp(2000).slideDown(2000);
这个id为p1的元素会先变成红色,然后通过滑动隐藏,再通过滑动显示
(6)jquery的html操作
(1)获取内容
三个简单实用的用于 DOM 操作的 jQuery 方法:
- text() - 设置或返回所选元素的文本内容
- html() - 设置或返回所选元素的内容(包括 HTML 标记)
- val() - 设置或返回表单字段的值
html()与text()的区别,val()则被用于获取values。
(2)获取属性
attr()用于获取属性值
比如说:
$("button").click(function(){ alert($("#runoob").attr("href")); });
如果用于改变,则直接再函数中改变。比如说text("hello world")相当于赋值
(3)添加元素
- append() - 在被选元素的结尾插入内容:$("p").append(" <b>追加文本</b>。");
- prepend() - 在被选元素的开头插入内容
- after() - 在被选元素之后插入内容
- before() - 在被选元素之前插入内容
var txt1="<p>文本。</p>"; // 使用 HTML 标签创建文本
var txt2=$("<p></p>").text("文本。"); // 使用 jQuery 创建文本
var txt3=document.createElement("p");
txt3.innerHTML="文本。"; // 使用 DOM 创建文本 text with DOM
$("body").append(txt1,txt2,txt3); // 追加新元素
(4)删除元素
$("#div1").remove(); $("p").remove(".italic");//过滤删除italic类的p标签
$("#div1").empty();
(5)获取并设置css
jQuery 拥有若干进行 CSS 操作的方法。我们将学习下面这些:
- addClass() - 向被选元素添加一个或多个类
- removeClass() - 从被选元素删除一个或多个类
- toggleClass() - 对被选元素进行添加/删除类的切换操作
- css() - 设置或返回样式属性
$("button").click(function(){ $("h1,h2,p").addClass("blue"); $("div").addClass("important"); });
(6)
jQuery 尺寸方法
jQuery 提供多个处理尺寸的重要方法:
- width()
- height()
- innerWidth()
- innerHeight()
- outerWidth()
- outerHeight()
7.jquery的遍历

根据标签父子关系来遍历
向上遍历 DOM 树
这些 jQuery 方法很有用,它们用于向上遍历 DOM 树:
- parent() //返回上级的标签
- parents() //一路返回上级标签,直到html标签
- parentsUntil() // $("span").parentsUtil("ul"); 用于给与介于span 与ul之间的父标签
$("span").parents("ul");可以用于过滤,这样只筛选为ul的父标签
向下遍历 DOM 树
下面是两个用于向下遍历 DOM 树的 jQuery 方法:
- children() //$("div").children(); 返回div的所有子标签,并可以筛选$("div").children("p.1");
- find() //$(document).ready(function(){ $("div").find("span"); }); 寻找后代中所有的span标签
- $(document).ready(function(){ $("div").find("*"); }); 返回所有的后代
在 DOM 树中水平遍历
有许多有用的方法让我们在 DOM 树进行水平遍历:
- siblings() //$(document).ready(function(){ $("h2").siblings(); }); 不包括自己,同时可以筛选
- next() //返回下一个同胞元素
- nextAll() //$(document).ready(function(){ $("h2").nextAll(); }); 返回所有跟随的同胞
- nextUntil() //$(document).ready(function(){ $("h2").nextUntil("h6"); }); 从跟随的标签中需按照这个范围中满足条件的标签
- prev() //同样只是向上跟随
- prevAll()
- prevUntil()
遍历过滤:first(),last(),eq()
$("div p").first(); //div中第一个p
$("div p").last();//div中最后一个p
$("p").eq(1); //寻找所有p中的第1个,从0个开始
$("p").filter(".url"); 会过滤掉是url类的标签
$("p").not(".url"); 与url相反的标签
8.ajax
什么是ajax?是异步的javascript与xml
在不重载整个网页的情况下,通过后台加载数据,并在网页上显示
比如说:谷歌地图,还有微博等等
1.load函数
这是示例文件("demo_test.txt")的内容:
$("#div1").load("demo_test.txt"); 直接通过load函数进行填充txt
$("#div1").load("demo_test.txt #p1"); 填入txt中指定的id到div中
function(responseTxt,statusTxt,xhr){
if(statusTxt=="success") alert("外部内容加载成功!");
if(statusTxt=="error") alert("Error: "+xhr.status+": "+xhr.statusText); });
2.ajax的get()与post()方法
$("button").click(function(){
$.get("demo_test.php",function(data,status){
alert("数据: " + data + "\n状态: " + status); }); });
$("button").click(function(){
$.post("/try/ajax/demo_test_post.php", { name:"菜鸟教程", url:"http://www.runoob.com" }, function(data,status){ alert("数据: \n" + data + "\n状态: " + status); }); });

浙公网安备 33010602011771号