JQuery DOM

DOM

JavaScript DOM 的操作用 JQuery 的方法从新实现一遍。


获取元素

// id
$('#id')

// class
$('.className')

// tagName
$('tag')

/*
 上面三个对应的就是 getElements... 三个方法
*/

二级查找

/*
例如这种结构
<div>
 <p>...</p>
</div>
*/

// 下面两种是JQuery 二级查找的方法,JQuery 的选择器语法可以参考 “CSS 教程 - 选择器”
// $('div p') 返回的是一个 JQuery 对象,里面包含了元素的集合,$('div p')[0] 通过索引可以获取到集合里面的元素 [object HTMLParagraphElement]
$('div p')
$('div').find('p')

对象筛选

$('div').parent() // 当前元素的父元素
$('div').first() // 元素集合的第一个元素
$('div').last() // 元素集合的最后一个元素
$('div').eq(0) // 指定获取元素集合中第几个元素
$('div').next() // 当前元素的下一个元素
$('div').prev('.active') // 过滤掉 class=".active" 的 div 元素

元素遍历

/*
 <ul>
  <li>1</li>
  <li>2</li>
  <li>3</li>
 </ul>
*/

// each 方法
$('ul li').each(function(index, li) {
 console.log(index) // 当前索引
 console.log(li) // 当前元素
})

/*
遍历结果
0 | <p>1</p>
1 | <p>2</p>
2 | <p>3</p>
*/

操作元素

内容

/*
 <div>
  <p>内容</p>
 </div>
*/

console.log($('div').eq(0).html()) // <p>内容</p> | 获取 div 里面的所有内容,包括 HTML
console.log($('div').eq(0).text()) // 内容 | 获取文本内容
		
$('div').eq(0).html('为空是获取,写上内容就是修改')

/*
 $().eq().find().css()... 只要返回的结果是 JQuery 对象,就能一直 “.” 下去
 这样特性在 JQuery 中被称为 “连缀”
*/

属性

$().attr('class') // 获取属性
$().attr('class', 'red') // 修改属性
$().removeAttr() // 移除属性

样式

$().css('color', '#ccc') // 设置颜色
$().css('background', '#ccc') // 设置背景颜色,语法同 “css”

大小

/*
 大小是一组方法 .width() & .height()
*/

$(window).width() // 浏览器窗口大小
$(document).width() // 内容可视区域大小
$('div').width() // 指定区域大小

插入元素

// <ul></ul>

// 下级插入
$('ul').prepend('<li>1</li>') // 开头
$('ul').append('<li>2</li>') // 结尾

// 同级插入
$('ul li').eq(0).after($('ul').html()) // 之后
$('ul li').eq(0).before($('ul').html()) // 之前

移除元素

$('body').remove() // 整个页面都被移除了

补充

JQuery 教程 JQuery 入门 JQuery DOM JQuery 表单 JQuery Ajax JQuery 事件 JQuery 切换效果