jquery
获取jquery
选择器
事件
ready
当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。
$(document).ready(function(){
alert(\'啦啦啦\')
});
on
在选择元素上绑定一个或多个事件的事件处理函数。
$(\'button\').on(\'click\',function () {
$(\'div\').fadeToggle()
})
off
在选择元素上移除一个或多个事件的事件处理函数。
$(\'button\').off(\'click\')
one
为每一个匹配元素的特定事件(像click)绑定一个一次性的事件处理函数。
$(\'ul\').one(\'mousemove\',function(){
console.log(\'ulmove\')
})
hover
一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法
$(\'button\').hover(function(){
$(\'div\').css(\'color\',\'yellow\')},function(){
$(\'div\').css(\'color\',\'green\')
}
)
change
当元素的值发生改变时,会发生 change 事件。
$("input[type=\'text\']").change( function() {
$(\'div\').css(\'color\',\'red\')
});
//当input的值发生改变时(也就是输入数据时),字体颜色改变
jquery鼠标事件
click
当点击元素时,会发生点击事件。
$("p").click(function () {
$(\'p\').css(\'color\',\'red\')
});
dblclick
当双击元素时,会发生 dblclick 事件。
$("div").dblclick(function () {
$(\'div\').css(\'color\',\'#fac\')
});
mousedown
当鼠标指针移动到元素上方,并按下鼠标按键时,会发生 mousedown 事件。
mousedown 与 click 事件不同,mousedown 事件仅需要按键被按下,而不需要松开即可发生。
mouseenter
当鼠标指针穿过元素时,会发生 mouseenter 事件。该事件大多数时候会与mouseleave 事件一起使用。
与 mouseover 事件不同,只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。如果鼠标指针穿过任何子元素,同样会触发 mouseover 事件。
mouseleave
当鼠标指针离开元素时,会发生 mouseleave 事件。该事件大多数时候会与mouseenter 事件一起使用。
与 mouseout 事件不同,只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。
mousemove
当鼠标指针在指定的元素中移动时,就会发生 mousemove 事件。
mousemove事件处理函数会被传递一个变量——事件对象,其.clientX 和 .clientY 属性代表鼠标的坐标
mouseout
当鼠标指针从元素上移开时,发生 mouseout 事件。
注释:与 mouseleave 事件不同,不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。
mouseover
当鼠标指针位于元素上方时,会发生 mouseover 事件。
mouseup
当在元素上放松鼠标按钮时,会发生 mouseup 事件。
jquery窗口事件
blur
当元素失去焦点时触发 blur 事件。
$(\'input[type="text"]\').blur(function () {
$(\'div\').css(\'color\',\'yellow\')
})
focus
当元素获得焦点时,触发 focus 事件。
$("input[type=text]").focus(function(){
this.blur();
});//当获得焦点时,无法使用此文本框
focusin
当元素获得焦点时,触发 focusin 事件。
focusin事件跟focus事件区别在于,他可以在父元素上检测子元素获取焦点的情况。
$("input[type=text]").focusin(function(){
$("div").css(\'color\',\'red\')
});
focusout
当元素失去焦点时触发 focusout 事件。
focusout事件跟blur事件区别在于,他可以在父元素上检测子元素失去焦点的情况。
$("input[type=text]").focusout(function(){
$("div").css(\'color\',\'yellow\')
});
jquery键盘事件
keyDown
当键盘或按钮被按下时,发生 keydown 事件。
$(window).keydown(function(event){
switch(event.keyCode) {
case 27:
console.log(\'esc\')
break;
case 13:
console.log(\'Enter\')
break;
// 不同的按键可以做不同的事情
// 不同的浏览器的keycode不同
// 常用keyCode: 空格 32 Enter 13 ESC 27
}
});
keypress
当键盘或按钮被按下时,发生 keypress 事件。
keyUp
当按钮被松开时,发生 keyup 事件。它发生在当前获得焦点的元素上。
resize
当调整浏览器窗口的大小时,发生 resize 事件。
$(window).resize(function(){
alert("Stop it!");
});
属性
属性
attr(返回或设置属性)
设置或返回被选元素的属性值。
//返回文档中所有图像的src属性值。也就是图像的地址
$("img").attr("src");
//为所有图像设置src和alt属性。设置多个属性
$("img").attr({src:"img.jpg",alt:"图片"})
//为所有图像设置src属性。设置单个属性
$("img").attr("src","img.jpg");
removeAttr(删除属性)
从每一个匹配的元素中删除一个属性
$("img").removeAttr("src");
//只能删除一个属性
prop
获取在匹配的元素集中的第一个元素的属性值。
removeProp
用来删除由.prop()方法设置的属性集
prop,removeProp两个难以理解,需要重点关注
属性CSS类
addClass
为每个匹配的元素添加指定的类名。
//添加一个类名
$(\'img\').addClass(\'img\') //为img标签添加img类名
removeClass
从所有匹配的元素中删除全部或者指定的类。
$("p").removeClass("selected")//从匹配的元素中删除 \'selected\' 类
$("p").removeClass()//删除匹配元素的所有类
toggleClass
如果存在(不存在)就删除(添加)一个类。
$("img").toggleClass("selected")
//有class类名,就删除
//没有class类名,就添加
HTML代码/文本/值
html
取得第一个匹配元素的html内容。
设置匹配元素的html内容
这个函数不能用于XML文档。但可以用于XHTML文档。
//使用方式
//返回p元素的内容。(也就是获取p元素里面的内容)
$(\'p\').html();
//设置所有 p 元素的内容,(这会清空原先p标签里面的内容,然后再添加)
$(\'p\').html(\'hello\');
//使用函数来设置所有匹配元素的内容。
$("p").html(function(n){
return "这个 p 元素的 index 是:" + (n+1);
});
text(文本)
取得所有匹配元素的内容。结果是由所有匹配元素包含的文本内容组合起来的文本。这个方法对HTML和XML文档都有效。
//返回p元素的文本内容。他会获取所有的p元素的文本内容并将他们拼接起来返回
$(\'p\').text()
//设置所有 p 元素的文本内容
$(\'p\').text(\'hello\')
//使用函数来设置所有匹配元素的文本内容。
$("p").text(function(n){
return "这个 p 元素的 index 是:" + n;
});
val(值)
获得匹配元素的当前值,也可以设置匹配元素的当前值
//获取文本框中的值
$("input").val();
//设定文本框的值
$("input").val("hello world!");
//使用函数设置文本框的值
$(\'input:text.items\').val(function() {
return this.value + \' \' + this.className;
});
CSS
jquery获取css样式方式(两种)
$(\'#div1\').css(\'color\',\'yellow\')//单行css样式
$(\'#div1\').css({//多行css样式
\'color\':\'red\',
\'background\':\'lightblue\',
"width":"100px"
})
位置
offset
获取匹配元素在当前视口的相对偏移。也就是left和top
<p>Hello</p><p>2nd Paragraph</p>
<script>
const p = $("p:last");//选择最后一个符合条件的元素
const offset = p.offset();//获取元素的位置
p.html( "left: " + offset.left + ", top: " + offset.top );
</script>
position
获取匹配元素相对父元素的偏移。 也就是匹配元素在已定位元素的位置
<style>
div{
width: 300px;
height: 300px;
position: relative;
background: #c4c7ce;
}
#div1{
width: 100px;
height: 100px;
background: #8ed047;
}
</style>
</head>
<body>
<div>
<div id="div1"></div>
</div>
<p></p>
</body>
</html>
<script>
const div1 = $("#div1");
const position = div1.position();
$("p").html( "left: " + position.left + ", top: " + position.top );
</script>
尺寸
height
取得匹配元素当前计算的高度值(px)。获取或设置元素的高度
width
取得第一个匹配元素当前计算的宽度值(px)。获取或设置元素的宽度
innerHeight
获取第一个匹配元素内部区域高度(包括补白(padding)、不包括边框)。
innerWidth
获取第一个匹配元素内部区域宽度(包括补白(padding)、不包括边框)。
outerHeight
获取第一个匹配元素外部高度(默认包括补白和边框(border))。
outerWidth
获取第一个匹配元素外部宽度(默认包括补白和边框(border))。
效果
基础效果
show
显示隐藏的匹配元素。
<body>
<p style="display: none">Hello</p>
</body>
</html>
<script>
$(\'p\').show()
</script>
hide
隐藏显示的元素
<body>
<p>Hello</p>
</body>
</html>
<script>
$(\'p\').hide()
</script>
toggle
用于绑定两个或多个事件处理器函数,以响应被选元素的轮流的 click 事件。
如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。
$(\'button\').on(\'click\',function () {
$(\'p\').toggle()
})
滑动效果
slideDown
speed:三种预定速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)
以滑动方式显示隐藏的 元素
$(\'div\').slideDown()
slideUp
speed:三种预定速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)
通过高度变化(向上减小)来动态地隐藏所有匹配的元素,在隐藏完成后可选地触发一个回调函数
$(\'div\').slideUp()
slideToggle
speed:三种预定速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)
动态的滑落或滑起//当元素隐藏时滑落,当元素显示时滑起
或通过点击事件来实现滑起或滑落
$(\'div\').slideToggle()
//也可通过点击重复使用此函数
$(\'button\').on(\'click\',function () {
$(\'div\').slideToggle()
})
淡入淡出效果
fadeIn
有两种参数:速度和透明度(必须)
speed:三种预定速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)
opacity:一个0至1之间表示透明度的数字。
通过不透明度的变化来实现所有匹配元素的淡入效果
$(\'div\').fadeIn()//由透明到不透明的变化
fadeOut
有两种参数:速度和透明度(必须)
speed:三种预定速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)
opacity:一个0至1之间表示透明度的数字。
通过不透明度的变化来实现所有匹配元素的淡出效果
$(\'div\').fadeOut()//由不透明到透明的变化
fadeTo
有两种参数:速度和透明度(必须)
speed:三种预定速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)
opacity:一个0至1之间表示透明度的数字。
动态的淡入或淡出//当元素隐藏时淡入,当元素显示时淡出
$(\'div\').fadeTo(\'slow\',0.5) //
fadeToggle
有两种参数:速度和透明度(必须)
speed:三种预定速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)
opacity:一个0至1之间表示透明度的数字。
动态的淡入或淡出//当元素隐藏时淡入,当元素显示时淡出
也可以通过点击事件来实现淡入或淡出
$(\'button\').on(\'click\',function () {
$(\'div\').fadeToggle()
})
文档处理
内部插入
append(在元素的后面插入)
向每个匹配的元素内部追加内容。
$(\'p\').append(\'<b>Myfirend</b>\')//在P里面插入b
// 效果:<p>hello<b>Myfirend</b></p>
appendTo(在元素的后面插入)
把所有匹配的元素追加到另一个指定的元素元素集合中。
$(\'p\').appendTo(\'#div1\') //将P插入到div1中
prepend
向每个匹配的元素内部前置内容。
$(\'p\').append(\'<b>Myfirend</b>\')//在P前面插入b
// 效果:<p><b>Myfirend</b>hello</p>
prependTo
把所有匹配的元素前置到另一个、指定的元素元素集合中。
$(\'#p1\').prependTo(\'#div2\')
外部插入
after
在每个匹配的元素之后插入内容。
$("p").after("<b>Hello</b>");
//结果:
//<p>I would like to say: </p><b>Hello</b>
before
在每个匹配的元素之前插入内容。
insertAfter
把所有匹配的元素插入到另一个、指定的元素元素集合的后面。
//<div id="foo">Hello</div><p>I would like to say: </p>
$("p").insertBefore("#foo");
//结果:<p>I would like to say: </p><div id="foo">Hello</div>
insertBefore
把所有匹配的元素插入到另一个、指定的元素元素集合的前面。