jQuery获取元素
CSS选择器方式
$(document) // 选取整个文档对象
$('#mydiv') // 选择id为mydiv的元素
$('.tt') // 选择class为tt的元素
$('input[name=username]') // 选择name属性为username的input元素
jQuery特有表达式
$('a:first') // 选择页面中第一个a元素
$('tr:odd') // 选择表格的奇数行
$('#myForm :input') // 选取id为myForm中的input元素
$('div:visible') // 选择可见的div元素
$('div:gt(2)') // 选择所有的div元素,除了前三个(0、1、2)
$('div:animated') // 选择当前处于动画状态的div元素
jQuery的链式操作
在jQuery中使用了链式操作,就是在你获取网页元素之后,可以连续对他进行一列的操作,并且这一系列的操作可以连续的写在一起,就好像链条一样。
例如:
$('#mydiv').find('span').eq(2).html('Hello World!');
将其分解之后:
$('#mydiv') // 获取到id为mydiv的元素
.find('span') // 在他的内部寻找span标签
.eq(2) // 获取span标签中的第3个(下标从0开始)
.html('Hello World!'); // 将它的内容改为'Hello World!'
每一次的jQuery操作,都会返回一个jQuery对象,下一个操作就可以直接在前一个操作的基础之上进行。
此外jQuery还提供了.end()方法,返回上一个操作的对象。
$('#mydiv') // 获取到id为mydiv的元素
.find('span') // 在他的内部寻找span标签
.eq(2) // 获取span标签中的第3个(下标从0开始)
.html('Hello World!'); // 将它的内容改为'Hello World!'
// 此时操作的对象是mydiv下的第3个span元素
.end() // 返回上一个操作对象
// 此时操作的对象是mydiv下的所有span元素
jQuery创建元素
jQuery创建元素只需要把新元素以字符串的形式传入jQuery的构造构造函数
$('<div>Hello World!</div>')
$('<li>new li</li>')
// 还可以使用append创建之后直接插入
$('ul').append('<li>li</li>')
jQuery移动元素
jQuery移动元素提供了两种方法:
假定我们想要将div元素放在p元素后面
第一种:直接移动该元素
$('div').insertAfter($('p')) // 将div元素移动到p元素后面
第二种:移动其他元素的位置,从而达到目的
$('p').after($('div')) // 在p元素的后面加入一个div
两者实现的效果是相同的,但是第一种方法返回的对象是div元素,第二种方法返回的是p元素。
这类操作方法,一共有四对:
// 在现存元素的外部,从后面插入元素
$('xxx').insertAfter()
$('xxx').after()
// 在现存元素的外部,从前面插入元素
$('xxx').insertBefore()
$('xxx').before()
// 在现存元素的内部,从后面插入元素
$('xxx').appendTo()
$('xxx').append()
// 在现存元素的内部,从前面插入元素
$('xxx').prependTo()
$('xxx').prepend()
jQuery修改元素属性
jQuery中使用同意个函数进行取值(getter)和赋值(setter),具体是取值还是赋值由函数的参数决定
$('div').html; // 无参,获取div的值
$('div').html; // 带参,设置div的值
常用赋值和取值操作如下:
$('xxx').html() // 取出或设置html内容
$('xxx').text() // 取出或设置text内容
$('xxx').attr() // 取出或设置某个属性的值
$('xxx').width() // 取出或设置某个元素的宽度
$('xxx').height() // 取出或设置某个元素的高度
$('xxx').val() // 取出某个表单元素的值
有一点需要注意,在$('xxx')获取的值是多个时,在进行赋值的时候,是对所有元素进行赋值;在进行取值的时候,只对第一个元素进行取值(.text()除外,它是取出所有元素text内容)。