$(function() { })
来源
dom对象主要通过document获取,得js对象,或js对象数组
jquery对象通过$(选择器)来获取,得到【伪数组】
调用机制
dom对象本质是操作元素的属性
jquery对象本质是调用方法
两者是不能混用的
dom对象 --> jquery对象
$( document.querySelector('div') )
jquery对象 --> dom对象
$('div')[0]
$('div').get(0)
(jquery含 隐式迭代:把匹配到的所有元素进行遍历,对每个元素调用相同的方法
(js则需要手动遍历)
$('ul li:even')
奇数$('ul li:odd')
索引值为偶数,0 2 4 ...$('ol li:not(:first)')
$('ol li:gt(0)')
所有【大于 索引值】的元素$('ol li:eq(3)')
给定【索引值】的元素$('ol li:nth-child(4)').css('color','gold')
选择ol下的第四个(并非索引4)
n为自然数:0 1 2 3 ...
选取一个匹配的子集
参数1,起始索引,为负是从尾
参数2 默认为结尾
css方法
css(属性名) 获取样式属性的值
$('div').css('width')
css(属性名,属性值) 设置样式属性的值
$('div').css('background-color','yellow')
$('div').css("background", "") //空属性值
$('div').css({
"width":"200px",
"background-color":"red"
})
类方法
addClass() 添加类 $('div').addClass('d1')
removeClass() 移除类 $('div').removeClass('d1')
toggleClass() 切换类:存在(不存在)就删除(添加)
$('div').click(function(){
$(this).toggleClass('d1')
})
prop(属性名) 获取 $('a').prop('href')
prop(属性名,属性值) 设置 $("input").prop("checked", true);
attr(属性名,属性值) 设置 $('div').attr('data-index', '3')
attr(属性名) 获取 $('a').attr('href')
html() 获取 $('div').html()
html(内容) 设置 $('div').html('
标题
')
text() 获取 $('div').text()
text(内容) 设置 $('div').text('内容')
val() 获取 $('input').val()
val(内容) 设置 $('input').val('张三')
1)创建节点 $('字符串类型的元素')
var li = $('
$('ul').append(li)
2)添加元素
append() 末尾
var li = $('
$('ul').append(li)
li.appendTo($('ul'))
prepend() 前面
var li = $('
$('ul').prepend(li)
3)删除元素 元素.remove()
可以自己删除自己
var li = $('
$('ul').append(li)
li.remove()
4)克隆复制 $("img").clone()
改的是display属性
$('div').show(1000,function(){ alert('显示') })
$('div').hide(1000,function(){ alert('隐藏') })
$('div').toggle(1000,function(){ alert('切换') })
$('div').slideDown(1000,function(){ })
$('div').slideUp(1000,function(){ })
$('div').slideToggle(1000,function(){ })
$('div').fadeIn(1000,function(){ })
$('div').fadeOut(1000,function(){ })
$('div').fadeTo(1000,0.5,function(){ })
$('div').fadeToggle(1000,function(){ })
- var arr = ['red','green','blue']
-
- $('div').each(function(i, e) {
- //参1: 索引 参2: 元素, 参2 === this
- //this,js元素对象,此处 this == e
- $(e).css('color',arr[i])
- })
隐式迭代(自动遍历) $("ul li").css('color', red)
- //普通遍历
- $.each( $("div") ,function (i, e) {
- // 参1: 索引 参2: 元素
- });
-
- //遍历字面量对象
- $.each({ name: "张三", age: 23 }, function (i, e) {
- //参1:属性名 参2:属性值
- });
1)传统绑定 jq对象.方法名(匿名函数)
添加多个点击事件不会被覆盖,因为jquery本质是调用方法
- $('div').click( function(){
- $(this).css('background','red')
- })
2)on
绑定多个不同类型事件
- $('div').on({
- click:function(){
- $(this).css('background','red')
- },
- mouseover:function(){
- $(this).css('background','blue')
- }
- })
事件委托、动态绑定
- $('ul').on('click', 'li', function() {
- //参1: 事件名,参2: 具体绑定对象,参3: 匿名函数
- //this就是代表里面的子元素
- console.log(this.innerHTML);
- })
$('div').off('click')
$('div').off()
$('#content div').eq(index).show().siblings().hide()
$(this).css('background','pink').siblings().css('background','')
$("button").not($(this)).css("background", "")
$('#left li').mouseover(function(){
//获取光标移入元素在同辈中的索引
var index = $(this).index();
$("div").attr("index")