js进阶 11-9/10/11 jquery创建和插入节点
js进阶 11-9/10/11 jquery创建和插入节点
一、总结
一句话总结:
1、jquery插入节点8个方法?
内部之前,内部之后,之前,之后;各两个
- append()和appendTo()
- append() 方法在被选元素的结尾插入指定内容。
语法1:$(selector).append(content)
语法2:$(selector).append(function(index,html))
- appendTo()跟append()类似,作用都是在所选元素内部的“末尾”插入内容。
语法:$(content).appendTo(selector)
append() 和 appendTo() 方法执行的任务相同。不同之处在于:内容和选择器的位置,以及 append() 能够使用函数来附加内容。
- append() 方法在被选元素的结尾插入指定内容。
- prepend()和prependTo()
- prepend(),prependTo() 方法在被选元素的开头(内部)插入指定内容。
- 使用方法和appendTo(),append()类似
- before()和insertBefore()
- before(content|fn):在每个匹配的元素之前插入内容。
- insertBefore(content):把所有匹配的元素插入到另一个、指定的元素元素集合的前面。
- after()和insertAfter()
- after(content|fn):在每个匹配的元素之后插入内容。
- insertAfter(content):把所有匹配的元素插入到另一个、指定的元素元素集合的后面。
2、jquery创建节点方法?
$(html) 如:$("< li >< /li >")
36 //var $li=$('<li></li>')
37 //var $li=document.createElement('li')
3、append() 和 appendTo()的区别和联系?
append() 和 appendTo() 方法执行的任务相同。不同之处在于:内容和选择器的位置,以及 append() 能够使用函数来附加内容。
二、jquery创建和插入节点
1、相关知识
DOM操作
DOM操作是jQuery核心内容之一,在前端开发时,我们往往需要在页面某个地方添加一个元素或者删除元素,这种添加元素、删除元素的操作就是通过DOM来实现的。
我们之前学习了html(),text()方法为文档添加新的内容,但是更多时候我们需要在现有内容之上增加或修改某些内容,这就要用到我们接下来要讲的节点操作。
- 创建节点:$(html) 如:$("< li >< /li >")
- 插入节点
- append()和appendTo()
- append() 方法在被选元素的结尾插入指定内容。
语法1:$(selector).append(content)
语法2:$(selector).append(function(index,html))
- appendTo()跟append()类似,作用都是在所选元素内部的“末尾”插入内容。
语法:$(content).appendTo(selector)
append() 和 appendTo() 方法执行的任务相同。不同之处在于:内容和选择器的位置,以及 append() 能够使用函数来附加内容。
- append() 方法在被选元素的结尾插入指定内容。
- prepend()和prependTo()
- prepend(),prependTo() 方法在被选元素的开头(内部)插入指定内容。
- 使用方法和appendTo(),append()类似
- before()和insertBefore()
- before(content|fn):在每个匹配的元素之前插入内容。
- insertBefore(content):把所有匹配的元素插入到另一个、指定的元素元素集合的前面。
- after()和insertAfter()
- after(content|fn):在每个匹配的元素之后插入内容。
- insertAfter(content):把所有匹配的元素插入到另一个、指定的元素元素集合的后面。
- append()和appendTo()
- 删除节点
- remove():删除匹配的元素集合中所有的子节点。
绑定的事件,附加的数据等都会被移除。
- detach():从DOM中删除所有匹配的元素。
与remove()不同的是,所有绑定的事件、附加的数据等都会保留下来。
- empty():删除匹配的元素集合中所有的子节点。
remove()和detach()这2个方法删除节点时,会将自身节点以及后代节点一并删除。但是empty()方法仅仅删除后代节点,而会保留自身节点。
- remove():删除匹配的元素集合中所有的子节点。
- 复制节点
语法:$(selector).clone(includeEvents)includeEvents:可选。布尔值。规定是否复制元素的所有事件处理。
- 包裹节点:
- wrap():把每个被选元素放置在指定的 HTML 内容或元素中。
- wrapAll():将所有匹配的元素用单个元素包裹起来
- unwrap():移出元素的父元素。
- wrapInner():将每一个匹配的元素的子内容(包括文本节点)用一个HTML结构包裹起来
- 替换节点
- replaceWith():用指定的 HTML 内容或元素替换被选元素。
- replaceAll():用指定的 HTML 内容或元素替换被选元素。
replaceAll() 与 replaceWith() 作用相同。差异在于语法:内容和选择器的位置,以及 replaceWith() 能够使用函数进行替换。
- 遍历节点:each()
在jQuery中,我们可以使用each()方法来轻松实现元素的遍历操作。
语法:$(selector).each(function(index))
2、代码
代码9-9
<!DOCTYPE html>
<html lang="en">
<style>
</style>
<head>
<meta charset="UTF-8">
<title>演示文档</title>
<script type="text/javascript" src="jquery-3.1.1.min.js"></script>
<style>
li{
background: #ccc;margin-top: 5px;width: 150px;
}
.orange{background: orange}
div{
background: green;
width: 20px;height: 20px;
display: inline-block;
}
</style>
</style>
</head>
<body>
<div id="div1"></div>
<ol>
<li>列表项</li>
<li>列表项</li>
<li>列表项</li>
</ol>
<input id="btn1" type="button" value="节点插入1">
<input id="btn2" type="button" value="节点插入2">
<input id="btn3" type="button" value="节点插入3">
<script type="text/javascript">
$(function(){
$('#btn1').click(function(){
//创建节点 '$()方法'创建节点
//var $li=$('<li></li>')
//var $li=document.createElement('li')
var $li=$('<li class="orange"></li>')
$('ol').append($li)
}) $('#btn2').click(function(){
$('li').append(function(index,html){
return '<div>'+index+'</div>'+html
})
}) $('#btn3').click(function(){
$('li').append($('#div1'))
})
})
</script>
</body>
</html>
代码9-10
<!DOCTYPE html>
<html lang="en">
<style>
</style>
<head>
<meta charset="UTF-8">
<title>演示文档</title>
<script type="text/javascript" src="jquery-3.1.1.min.js"></script>
<style>
li{
background: #ccc;margin-top: 5px;width: 150px;
}
.orange{background: orange}
div{
background: green;
width: 20px;height: 20px;
display: inline-block;
}
</style>
</style>
</head>
<body>
<div id="div1"></div>
<ol>
<li>列表项</li>
<li>列表项</li>
<li>列表项</li>
</ol>
<input id="btn1" type="button" value="节点插入1">
<input id="btn2" type="button" value="节点插入2">
<input id="btn3" type="button" value="节点插入3">
<script type="text/javascript">
$(function(){
$('#btn1').click(function(){
var $li=$('<li class="orange"></li>')
//$('ol').append($li)
//$($li).appendTo('ol')
//$('ol').prepend($li)
$($li).prependTo('ol')
}) $('#btn2').click(function(){
// $('li').append(function(index,html){
// return '<div>'+index+'</div>'+html
// })
$('li').prepend(function(index,html){
return '<div>'+index+'</div>'
})
}) $('#btn3').click(function(){
//$('li').append($('#div1'))
//$($('#div1')).appendTo($('li')) //$('li').prepend($('#div1'))
$($('#div1')).prependTo($('li'))
})
})
</script>
</body>
</html>
代码9-11
<!DOCTYPE html>
<html lang="en">
<style>
</style>
<head>
<meta charset="UTF-8">
<title>演示文档</title>
<script type="text/javascript" src="jquery-3.1.1.min.js"></script>
<style>
li{
background: #ccc;margin-top: 25px;width: 150px;
}
.orange{background: orange}
</style>
</style>
</head>
<body>
<div id="div1"></div>
<ol>
<li>列表项</li>
<li>列表项</li>
<li>列表项</li>
<li>列表项</li>
</ol>
<input id="btn1" type="button" value="after">
<input id="btn2" type="button" value="before">
<script type="text/javascript">
$(function(){
$('#btn1').click(function(){
var $li=$('<li class="orange">我是新添加的</li>')
//$('li').append($li)
//$('li:nth-child(2)').append($li)
//$('li:nth-child(2)').after($li)
// $('li:nth-child(2)').after(function(){
// return '<li class="orange">我是新添加的</li>'
// })
$($li).insertAfter('li:nth-child(2)')
})
$('#btn2').click(function(){
var $li=$('<li class="orange">我是新添加的</li>')
//$('li:nth-child(2)').before($li)
// $('li:nth-child(2)').before(function(){
// return '<li class="orange">我是新添加的</li>'
// })
$($li).insertBefore('li:nth-child(2)') })
})
</script>
</body>
</html>
js进阶 11-9/10/11 jquery创建和插入节点的更多相关文章
- js进阶---12-11、jquery如何给动态创建出来的元素绑定事件
js进阶---12-11.jquery如何给动态创建出来的元素绑定事件 一.总结 一句话总结:通过事件委托的方式,通过on方法 1.on方法在事件绑定的时候,data方式带额外参数时,字符串参数和其它 ...
- js进阶 13-9/10 jquery如何实现三级列表
js进阶 13-9/10 jquery如何实现三级列表 一.总结 一句话总结:用的是定位,父标签相对定位,子标签就可以绝对定位了,绝对定位的孩子还是可以设置绝对定位.用toggle设置子菜单显示和隐藏 ...
- js进阶 12-15 jquery如何实现点击button显示列表,点击其它位置隐藏列表
js进阶 12-15 jquery如何实现点击button显示列表,点击其它位置隐藏列表 一.总结 一句话总结:在button中阻止事件冒泡. 1.如何咋button中阻止事件冒泡(两种方法)? ev ...
- js进阶课程 12-9 jquery的事件对象event的方法有哪些?
js进阶课程 12-9 jquery的事件对象event的方法有哪些? 一.总结 一句话总结:三组六个,阻止默认事件一组,阻止冒泡一组,阻止冒泡和剩余事件一组. 1.事件的默认动作指什么? 比如点a标 ...
- js进阶 12-5 jquery中表单事件如何使用
js进阶 12-5 jquery中表单事件如何使用 一.总结 一句话总结:表单事件如何使用:可元素添加事件监听,然后监听元素,和javase里面一样. 1.表单获取焦点和失去焦点事件有哪两组? 注意是 ...
- 手写面试编程题- 数组去重 深拷贝 获取文本节点 设置奇数偶数背景色 JS中检测变量为string类型的方法 第6题闭包 将两个数组合并为一个数组 怎样添加、移除、移动、复制、创建和查找节点? 继承 对一个数组实现随机排序 让元素水平 垂直居中的三种方式 通过jQuery的extend方法实现深拷贝
第1题==>实现数组去重 通过 new Set(数组名) // var arr = [12, 12, 3, 4, 5, 4, 5, 6, 6]; // var newarr1 = new Set ...
- js进阶 11-24 jquery如何实现选项卡的制作
js进阶 11-24 jquery如何实现选项卡的制作 一.总结 一句话总结:ul>li做选项卡的选项卡头,多个div做选项卡的内容,点到对应的li,就切换到对应的div,用index()获取l ...
- iOS冰与火之歌(番外篇) - 基于PEGASUS(Trident三叉戟)的OS X 10.11.6本地提权
iOS冰与火之歌(番外篇) 基于PEGASUS(Trident三叉戟)的OS X 10.11.6本地提权 蒸米@阿里移动安全 0x00 序 这段时间最火的漏洞当属阿联酋的人权活动人士被apt攻击所使用 ...
- 战神Z7 D2安装黑苹果OS X El Capitan 10.11.2
安装之初状态:两块硬盘,都是MBR格式分区,一块是机械硬盘,安装了WIN7 32位和Linux,一块是SSD,安装的是WIN7 64位与WIN10 64位以前玩过Mavericks,安装的就是在硬盘的 ...
随机推荐
- Linux下基于LDAP统一用户认证的研究
Linux下基于LDAP统一用户认证的研究 本文出自 "李晨光原创技术博客" 博客,谢绝转载!
- ps的入门
ps的入门 http://www.cnblogs.com/qingci/archive/2012/09/20/2694728.html
- js 关于网易淘宝移动端适配的学习
(function (doc, win) { // orientationchange:用户水平或者垂直翻转设备(即方向发生变化)时触发的事件;(屏幕大小发生变化) var docEl = doc.d ...
- C#之在treeview中鼠标点击的所选的节点触发事件
一.背景 如下图所示,我想实现通过鼠标点击treeview的根节点,然后在文本框控件中显示鼠标点击的节点号. 二.程序实现 因为是要通过鼠标点击才发生的事情,所以这属于一个事件,需要触发才行,刚开始不 ...
- GIS学习 Geoserver使用添加、删除、查询地图中的POI
geoserverwfs:Querywfs:Deletewfs:Updatewfs:Insert 在geoserver自定义的地图中通过geoserver wfs 查询,删除,添加相关的POI. 相 ...
- Arch Linux下配置Samba
本文记录笔者配置Samba的过程,供用于自用. sudo pacman -S samba sudo vim /etc/samba/smb.conf 添加以下内容 [global] dns pro ...
- JS如何动态生成变量名[重点]
解决方案: function create_variable(num){ var name = "test_"+num; //生成函数名 ...
- LeetCode_Construct Binary Tree from Preorder and Inorder Traversal
一.题目 Construct Binary Tree from Preorder and Inorder Traversal My Submissions Given preorder and ino ...
- 驱动学习2-Menuconfig与Kconfig
Menuconfig: 执行make Menuconfig命令是为了产生.config文件 Kconfig: Kconfig中的指令可以改变Menuconfig图形界面中的东西,例如假如leds控制选 ...
- 从Unreal Engine 3到Unreal Engine 4
Unreal Engine 4公布好长好长时间了.直到近期才有时间细致去看一下. TimSweeney老大一句话"IF YOU LOVE SOMETHING, SET IT FREE&quo ...