jQuery补充

1

 $(function(){

   // 开始写 jQuery 代码...

 });

等价于

$(document).ready(function(){

   // 开始写 jQuery 代码...

 });

2 :first

$("p:first");//选取第一个 <p> 元素,等价于first-of-type
$("ul li:first");//只选取第一个 <ul> 元素的第一个 <li> 元素,如果改成first-of-type,则会选取每个ul下的第一个li元素

3
keydown:在键盘上按下某键时发生,一直按着则会不断触发(opera浏览器除外),它返回的是键盘代码;
keypress:在键盘上按下一个按键,并产生一个字符时发生, 返回ASCII码。注意: shift、alt、ctrl等键按下并不会产生字符,所以监听无效,换句话说,只有按下能在屏幕上输出字符的按键时keypress事件才会触发。若一直按着某按键则会不断触发。
keyup:用户松开某一个按键时触发,与keydown相对,返回键盘代码

4 toggle
语法:

$(selector).toggle(speed,callback);

可选的 speed 参数规定隐藏/显示的速度,可以取以下值:“slow”、“fast” 或毫秒。

可选的 callback 参数是 toggle() 方法完成后所执行的函数名称。

可选的 callback 参数,具有以下三点说明:

$(selector)选中的元素的个数为n个,则callback函数会执行n次
callback函数名后加括号,会立刻执行函数体,而不是等到显示/隐藏完成后才执行
callback既可以是函数名,也可以是匿名函数

5 fadeTo()

//语法
$(selector).fadeTo(speed,opacity,callback);

speed取值为slow/normal/fast/毫秒,必需
opacity设置渐变后的透明度0.0-1.0,必需
callback为渐变完成后执行的函数,可选

6 animate()补充
使用相对值

$("button").click(function(){
  $("div").animate({
    left:'250px',
    height:'+=150px',//必须有 += 或-=
    width:'+=150px'//相对当前值
  });
}); 

使用预定义值(show/hide/toggle)

$("button").click(function(){
  $("div").animate({
    height:'toggle';//效果与toggle()一样
    //width / height / opacity都可以
  });
}); 

使用队列功能
如果为一个对象编写了多个animate()调用,jQuery 会创建包含这些方法调用的"内部"队列。然后逐一运行这些 animate 调用。

$("button").click(function(){
  var div=$("div");
  div.animate({height:'300px',opacity:'0.4'},"slow");
  div.animate({width:'300px',opacity:'0.8'},"slow");
  div.animate({height:'100px',opacity:'0.4'},"slow");
  div.animate({width:'100px',opacity:'0.8'},"slow");
}); 

7 stop()补充

//语法
 $(selector).stop(stopAll,goToEnd);

可选的 stopAll 参数规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行。(false 如果有多个动画,只停止当前那个,后面的继续执行;true 停止所有动画)
可选的 goToEnd 参数规定是否立即完成当前动画。默认是 false;true,表示完成动作,但停止整个动画队列
因此,默认地,stop() 会清除在被选元素上指定的当前动画

8 callback函数
由于 JavaScript 语句(指令)是逐一执行的 - 按照次序,动画之后的语句可能会产生错误或页面冲突,因为动画还没有完成。

为了避免这个情况,可以以参数的形式添加 Callback 函数,确保它在动画完成后再执行。

$("button").click(function(){
  $("p").hide("slow",function(){
    alert("The paragraph is now hidden");//动画完全结束后才会执行
  });
});

9 链式写法

$("#p1").css("color","red")
  .slideUp(2000)
  .slideDown(2000);

10
text() - 设置或返回所选元素的文本内容

html() - 设置或返回所选元素的内容(包括 HTML 标记)

val() - 设置或返回表单字段的值

attr() 方法用于获取属性值

$("#btn1").click(function(){
  alert("Text: " + $("#test").text());
});
$("#btn2").click(function(){
  alert("HTML: " + $("#test").html());
});
$("#btn1").click(function(){
  alert("Value: " + $("#test").val());
});//不带参数就是获取
$("button").click(function(){
  alert($("#w3s").attr("href"));//需要输入属性名
});

设置

$("#btn1").click(function(){
  $("#test1").text("Hello world!");
});
$("#btn2").click(function(){
  $("#test2").html("<b>Hello world!</b>");
});
$("#btn3").click(function(){
  $("#test3").val("Dolly Duck");//设置时将设置的值作为参数传入
});

text()、html() 以及 val(),同样拥有回调函数。回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。

$("#btn1").click(function(){
  $("#test1").text(function(i,origText){
    return "Old text: " + origText + " New text: Hello world!
    (index: " + i + ")";
  });
});

$("#btn2").click(function(){
  $("#test2").html(function(i,origText){
    return "Old html: " + origText + " New html: Hello <b>world!</b>
    (index: " + i + ")";
  });
});

设置属性

$("button").click(function(){
  $("#w3s").attr("href","//www.w3cschool.cn/jquery");//属性名,属性值
});
$("button").click(function(){
  $("#w3s").attr({
    "href" : "//www.w3cschool.cn/jquery",
    "title" : "jQuery 教程"
  });//以对象形式可以同时设置多个属性
});

attr(),也提供回调函数。回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回希望使用的字符串。

$("button").click(function(){
  $("#w3cschool").attr("href", function(i,origValue){
    return origValue + "/jquery";
  });//属性名,回调函数
});

11 添加元素/内容
append() - 在被选元素内部的结尾插入指定内容

$("p").append("Some appended text.");

prepend() - 在被选元素内部的开头插入指定内容

$("p").prepend("Some prepended text.");

append() 和 prepend() 方法能够通过参数接收无限数量的新元素。可以通过 jQuery 来生成文本/HTML(就像上面的例子那样),或者通过 JavaScript 代码和 DOM 元素。

function appendText()
{
var txt1="<p>Text.</p>";               // 使用 HTML 标签创建文本 
var txt2=$("<p></p>").text("Text.");   // 使用 jQuery 创建文本
var txt3=document.createElement("p");  
txt3.innerHTML="文本。";               // 使用 DOM 创建文本 text with DOM
$("p").append(txt1,txt2,txt3);         // P元素内部追加新元素
}

after() - 在被选元素之后插入内容

$("img").after("在后面添加文本");

before() - 在被选元素之前插入内容

$("img").before("在前面添加文本");

after() 和 before() 方法能够通过参数接收无限数量的新元素。可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建新元素。

function afterText()
{
var txt1="<b>I </b>";                    // 使用 HTML 创建元素 
var txt2=$("<i></i>").text("love ");     // 使用 jQuery 创建元素
var txt3=document.createElement("big");  // 使用 DOM 创建元素
txt3.innerHTML="jQuery!";
$("img").after(txt1,txt2,txt3);          // 在图片后添加文本
}

在jQuery中,append/prepend 是在选择元素内部嵌入,而after/before 是在元素外面追加。

12 删除元素
remove() - 删除被选元素(及其子元素)
empty() - 从被选元素中删除子元素

$("#div1").remove();
$("#div1").empty();

remove() 方法也可接受一个参数,允许对被删元素进行过滤,该参数可以是任何 jQuery 选择器的语法

$("p").remove(".italic");

13 CSS类
addClass() - 向被选元素添加一个或多个类

$("button").click(function(){
  $("h1,h2,p").addClass("blue");//为多个元素添加类
  $("div").addClass("important");
});
$("button").click(function(){
  $("#div1").addClass("important blue");//为元素添加多个类
});

removeClass() - 从被选元素删除一个或多个类(指定的)

$("button").click(function(){
  $("h1,h2,p").removeClass("blue");//写法与选择器一致
});

toggleClass() - 对被选元素进行添加/删除类的切换操作

$("button").click(function(){
  $("h1,h2,p").toggleClass("blue");//有就删,无就加
});

css() - 设置或返回样式属性

//返回属性值
css("propertyname");//参数是属性名

$("p").css("background-color");//只能返回第一个P的属性值

14 尺寸操作
width() 方法设置或返回元素的宽度(不包括内边距、边框或外边距)。

height() 方法设置或返回元素的高度(不包括内边距、边框或外边距)。

innerWidth() 方法返回元素的宽度(包括内边距)。

innerHeight() 方法返回元素的高度(包括内边距)。

outerWidth() 方法返回元素的宽度(包括内边距和边框)。

outerHeight() 方法返回元素的高度(包括内边距和边框)。

outerWidth(true) 方法返回元素的宽度(包括内边距、边框和外边距)。

outerHeight(true) 方法返回元素的高度(包括内边距、边框和外边距)。
在这里插入图片描述

$("p").width();//返回P的宽度
$("p").width("300px");//设置P的宽度

15 遍历
parents() 方法
返回被选元素的所有祖先元素,它一路向上直到文档的根元素 ()。

$(document).ready(function(){
  $("span").parents();//返回span的所有祖先元素
});

$(document).ready(function(){
  $("span").parents("ul");//通过参数进行过滤,返回span的ul祖先元素
});

parentsUntil() 方法
返回介于两个给定元素之间的所有祖先元素。

$(document).ready(function(){
  $("span").parentsUntil("div");//返回span和div之间的祖先元素,不包括div
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值