DOM操作
DOM操作是JQ核心内容之一,在前端开发时,我们往往需要在页面某个地方添加一个元素或删除元素,这种添加元素、删除元素的操作就是通过 DOM来实现的。
$(html) 如:$(“”)
向每个匹配的元素内部追加内容。
这个操作与对指定的元素执行appendChild方法,将它们添加到文档中的情况类似。
参数
content: String, Element, jQuery
要追加到目标中的内容
function(index, html): Function
返回一个HTML字符串,用于追加到每一个匹配元素的里边。接受两个参数,index参数为对象在这个集合中的索引值,html参数为这个对象原先的html值。
描述: 向所有段落中追加一些HTML标记。
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
<title>插入节点title>
head>
<style>
style>
<body>
<p>I would like to say: p>
<script>
$("p").append("Hello");
script>
body>
html>
结果
I would like to say: Hello
概述
把所有匹配的元素追加到另一个指定的元素元素集合中。
实际上,使用这个方法是颠倒了常规的$(A).append(B)的操作,即不是把B追加到A中,而是把A追加到B中。
在jQuery 1.3.2中,appendTo, prependTo, insertBefore, insertAfter, 和 replaceAll这个几个方法成为一个破坏性操作,返回值是所有被追加的内容,而不仅仅是先前所选中的元素。所以,要选择先前选中的元素,需要使用end()方法,参见例二
参数
content: String
用于被追加的内容
.appendTo()和,appendTo不同之处:
a.内容和选择器的位置,
b.append()能够使用函数来附加内容。
描述: 把所有段落追加到ID值为foo的元素中。
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
<title>appendTotitle>
head>
<body>
<p>I would like to say: p>
<div>div><div>div>
body>
<script>
$("p").appendTo("div");
script>
html>
结果:
I would like to say:
I would like to say:
代码显示:
<div><p>I would like to say: p>div>
<div><p>I would like to say: p>div>
描述: 新建段落追加div中并加上一个class
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
<title>appendTotitle>
head>
<body>
<div>div><div>div>
body>
<script>
$("")
.appendTo("div")
.addClass("test")
.end()//返回值是所有被追加的内容,而不仅仅是先前所选中的元素。所以,要选择先前选中的元素,需要使用end()方法
.addClass("test2");
script>
html>
结果
<div><p class="test test2">p>div>
<div><p class="test">p>div>
不加end()时
<div><p class="test test2">p>div>
<div><p class="test test2">p>div>
概述
向每个匹配的元素内部前置内容。
这是向所有匹配元素内部的开始处插入内容的最佳方式。
参数
content: String, Element, jQuery
要插入到目标元素内部前端的内容
function(index, html) : Function
返回一个HTML字符串,用于追加到每一个匹配元素的里边。接受两个参数,index参数为对象在这个集合中的索引值,html参数为这个对象原先的html值。
描述:向所有段落中前置一些HTML标记代码。
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
<title>appendTotitle>
head>
<body>
<p>I would like to say: p>
body>
<script>
$("p").prepend("Hello");
script>
html>
结果:
HelloI would like to say:
代码
<p><b>Hellob>I would like to say: p>
描述: 将一个DOM元素前置入所有段落
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
<title>prependtitle>
head>
<body>
<p>I would like to say: p>
<p>I would like to say: p>
<b class="foo">Hellob>
<b class="foo">Good Byeb>
body>
<script>
$("p").prepend( $(".foo")[0] );script>
html>
结果:
HelloI would like to say:
HelloI would like to say:
Good Bye
代码
<p><b class="foo">Hellob>I would like to say: p>
<p><b class="foo">Hellob>I would like to say: p>
<b class="foo">Good Byeb>
概述
把所有匹配的元素前置到另一个、指定的元素元素集合中。
实际上,使用这个方法是颠倒了常规的$(A).prepend(B)的操作,即不是把B前置到A中,而是把A前置到B中。
在jQuery 1.3.2中,appendTo, prependTo, insertBefore, insertAfter, 和 replaceAll这个几个方法成为一个破坏性操作,要选择先前选中的元素,需要使用end()方法,参见 appendTo 方法的例二。
参数
content: String
用于匹配元素的jQuery表达式
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
<title>prependTotitle>
head>
<body>
<p>I would like to say: p><div id="foo">div>
body>
<script>
$("p").prependTo("#foo");
script>
html>
结果
<div id="foo">I would like to say:
div>
概述
在每个匹配的元素之前插入内容。
参数
content: String, Element, jQuery
插入到每个目标后的内容
function Function
函数必须返回一个html字符串。
描述:在所有段落之前插入一些HTML标记代码。
代码:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
<title>beforetitle>
head>
<body>
<p>I would like to say: p>
body>
<script>
$("p").before("Hello");
script>
html>
结果:
<b>Hellob><p>I would like to say: p>
描述:在所有段落之前插入一个元素。
代码:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
<title>beforetitle>
head>
<body>
<p>I would like to say: p><b id="foo">Hellob>
body>
<script>
$("p").before( $("#foo")[0] );
script>
html>
结果:
<b id="foo">Hellob><p>I would like to say: p>
概述
在每个匹配的元素之后插入内容。
参数
content: String, Element, jQuery
插入到每个目标后的内容
function Function
函数必须返回一个html字符串。
描述:在所有段落之后插入一些HTML标记代码。
代码:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
<title>beforetitle>
head>
<body>
<p>I would like to say: p>
body>
<script>
$("p").after("Hello");
script>
html>
结果:
<p>I would like to say: p> <b>Hellob>
描述:在所有段落之后插入一个元素。
代码:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
<title>beforetitle>
head>
<body>
<b id="foo">Hellob>
<p>I would like to say: p>
body>
<script>
$("p").after( $("#foo")[0] );
script>
html>
结果:
<p>I would like to say: p>
<b id="foo">Hellob>
概述
把所有匹配的元素插入到另一个、指定的元素元素集合的前面。
实际上,使用这个方法是颠倒了常规的$(A).before(B)的操作,即不是把B插入到A前面,而是把A插入到B前面。
在jQuery 1.3.2中,appendTo, prependTo, insertBefore, insertAfter, 和 replaceAll这个几个方法成为一个破坏性操作,要选择先前选中的元素,需要使用end()方法,参见 appendTo 方法的例二。
参数
content: String
用于匹配元素的jQuery表达式
描述: 把所有段落插入到一个元素之前。与 $(“#foo”).before(“p”)相同。
代码:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
<title>insertBeforetitle>
head>
<body>
<div id="foo">Hellodiv><p>I would like to say: p>
body>
<script>
$("p").insertBefore("#foo");
script>
html>
结果:
I would like to say:
<div id="foo">Hellodiv>
概述
把所有匹配的元素插入到另一个、指定的元素元素集合的后面。
实际上,使用这个方法是颠倒了常规的$(A).after(B)的操作,即不是把B插入到A后面,而是把A插入到B后面。
在jQuery 1.3.2中,appendTo, prependTo, insertBefore, insertAfter, 和 replaceAll这个几个方法成为一个破坏性操作,要选择先前选中的元素,需要使用end()方法,参见 appendTo 方法的例二。
参数
content: String
用于匹配元素的jQuery表达式
描述: 把所有段落插入到一个元素之后。与 $(“#foo”).after(“p”)相同
代码:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="http://www.jq22.com/jquery/jquery-1.7.1.js">script>
<title>insertBeforetitle>
head>
<body>
<p>I would like to say: p><div id="foo">Hellodiv>
body>
<script>
$("p").insertAfter("#foo");
script>
html>
结果:
<div id="foo">Hellodiv>I would like to say: