本文实例讲述了JQuery中DOM节点的操作与访问方法。分享给大家供大家参考,具体如下:Jquery
本文实例讲述了JQuery中DOM节点的操作与访问方法。分享给大家供大家参考,具体如下:
Jquery中DOM节点的操作
已有对象.append(要添加的对象) |
作为最后一个子元素添加 |
要添加的对象.appendTo(已有对象) |
|
prepend()/prependTo() |
作为第一个子元素添加 |
已有元素.before(要添加的元素)/after() |
在对象前面/后面添加新的元素,可用逗号分割添加多个元素
|
要添加的元素.insertBefore(已有元素)/insertAfter() |
|
.empty() |
删除元素所有子节点 |
.remove(“selector”) |
删除自身整个元素,可以添加筛选参数 |
.detach() |
删除节点,并将其保存在返回对象中,之后可以再次调用添加 |
.clone() |
克隆节点结构,选填参数true后会同时克隆节点的事件 |
old.replaceWith(new) new.replaceAll(old) |
用旧元素替换新的元素 |
.wrap(parent) |
将每个元素包裹一个父元素 |
.unwrap() |
去除外层包裹 |
.wrapAll() |
将所有元素包裹一个父元素 |
.wrapInner() |
将每个元素内部包裹一个子元素 |
//通过DOM方法创建2个div元素
var pdiv = document.createElement('div')
var cdiv = document.createElement("div");
//给2个div设置不同的属性
pdiv.setAttribute('class', 'right')
cdiv.className = 'child'
cdiv.innerHTML = "动态创建DIV元素节点";
//将cdiv作为第一个子元素添加到pdiv内
pdiv.appendChild(cdiv)
//绘制到页面body
var body = document.querySelector('body');
body.appendChild(pdiv)
//通过JQuery创建html元素
var div = $("<div class='right'><div class='aaron'>动态创建DIV元素节点</div></div>");
$('body').append(div);
//删除整个 class=test1的div节点
$(".test1").empty()
//删除p标签中class为test3的结点
$("p").remove(".test3");
//通过detach在页面删除元素,但是这个节点还是保存在内存中
var p = $("p").detach()
//给所有p元素增加一个div包裹
$('p').wrapAll('<div></div>')
//去除p的父层元素
$('p').unwrap();
//所有div增加一个内层元素
$('div').wrapInner('<p></p>')
JQuery结点访问
.children() |
选中直接子节点,括号内可填选择器 |
.parent() |
选中直接父节点,括号内可填选择器 |
.parents() |
选中所有的祖先节点 |
.closest(selector) |
向上查找最近的满足条件的祖辈元素 |
.find(selector) |
选中所有满足条件的后代元素 |
.next() |
选中紧邻下一个同辈节点,可选填选择器 |
.prev() |
选中紧邻前一个同辈节点,括号内可选填 |
.siblings() |
选中所有同辈元素,括号内参数可选 |
.add() |
添加新的元素加入到选中集合 |
.each(function(index,element){this}) |
对每个进行函数操作,提供三个参数 |
注:选择器返回多个结果的可以通过括号内的选择器进行筛选,例如$('.item-2').next(':first'),选中多个类名为item-2的下一个节点,但:first只筛选了第一个。若括号内不填选择器,则默认选中所有的结果。
//选中class=div的子代的最后一个元素,添加边框
$('.div').children(':last').css('border', '3px solid blue')
//选中class=item-2的兄弟元素的最后一个,添加边框
$('.item-2').siblings(':last').css('border', '2px solid blue')
例2、each的使用:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title></title>
<style>
.left {
width: auto;
height: 150px;
}
.left div {
width: 150px;
height: 120px;
padding: 5px;
margin: 5px;
float: left;
background: #bbffaa;
border: 1px solid #ccc;
}
</style>
<script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>
<body>
<h2>each方法</h2>
<div class="left first-div">
<div class="div">
<ul>
<li>list item 1</li>
<li>list item 2</li>
<li>list item 3</li>
</ul>
</div>
<div class="div">
<ul>
<li>list item 4</li>
<li>list item 5</li>
<li>list item 6</li>
</ul>
</div>
</div>
<br/>
<button>点击:each方法遍历元素</button>
<button>点击:each方法回调判断</button>
<script type="text/javascript">
$("button:first").click(function() {
//遍历所有的li
//修改每个li内的字体颜色
$("li").each(function(index, element) {
$(this).css('color','red')
})
})
$("button:last").click(function() {
//遍历所有的li
//修改偶数li内的字体颜色
$("li").each(function(index, element) {
if (index % 2) {//使用index参数
$(this).css('color','blue')//this形参指的是正在遍历的节点
}
})
})
</script>
</body>
</html>
JQuery
DOM节点
操作
访问