<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>0408作业</title>
<style type="text/css">
li {
background-color: lightskyblue;
width: 300px;
margin-bottom: 5px;
}
</style>
</head>
<body>
<!--1.获取元素的内容-->
<!--<div></div>-->
<!--<form action="" method="post">-->
<!--账号:<input type="text" name="account">-->
<!--<button>提交</button>-->
<!--</form>-->
<!--2.创建DOM元素-->
<!--3.在目标节点上添加或移动节点-->
<!--<ul>-->
<!--<li>列表项1</li>-->
<!--<li>列表项2</li>-->
<!--<li>列表项3</li>-->
<!--<li>列表项4</li>-->
<!--<li>列表项5</li>-->
<!--</ul>-->
<!--<button>append()</button>-->
<!--<button>prepend()</button>-->
<!--<button>after()</button>-->
<!--<button>before()</button>-->
<!--<p style="background-color: orange;width: 400px;">我是要被append()移动的节点1</p>-->
<!--<p style="background-color: orange;width: 400px;">我是要被prepend()移动的节点2</p>-->
<!--<p style="background-color: orange;width: 400px;">我是要被after()移动的节点3</p>-->
<!--<p style="background-color: orange;width: 400px;">我是要被before()移动的节点4</p>-->
<!--4.将节点添加或移动到目标节点-->
<!--<ul>-->
<!--<li>列表项1</li>-->
<!--<li>列表项2</li>-->
<!--<li>列表项3</li>-->
<!--<li>列表项4</li>-->
<!--<li>列表项5</li>-->
<!--</ul>-->
<!--<button>appendTo()</button>-->
<!--<button>prependTo()</button>-->
<!--<button>insertAfter()</button>-->
<!--<button>insertBefore()</button>-->
<!--<p style="background-color: orange;width: 400px;">我是要被append()移动的节点1</p>-->
<!--<p style="background-color: orange;width: 400px;">我是要被prepend()移动的节点2</p>-->
<!--<p style="background-color: orange;width: 400px;">我是要被after()移动的节点3</p>-->
<!--<p style="background-color: orange;width: 400px;">我是要被before()移动的节点4</p>-->
<!--5.元素包裹-->
<a href="https://www.tmall.com">天猫</a>
<a href="https://taobao.com">淘宝</a>
<a href="https://www.jd.com/">京东</a>
<a href="https://www.suning.com">苏宁</a>
<p>网上购物:</p>
<button>wrap()</button>
<button>wrapIner()</button>
<button>wrapAll()</button>
<button>unwrap()</button>
</body>
</html>
<script src="../0402源码/js/jquery-3.3.1.js"></script>
<!--1.获取元素的内容-->
<script type="text/html">
//html() 和 css() attr() 一样 根据参数不同 自带读取和设置功能
// 1.设置元素内容,可以包括任何内容:子元素和文本,与原生的innerHTML属性一样
// 创建文本节点
var res = $('div').html('这是一段文字')
// 创建元素节点
var res = $('div').html('<h2>我是h2标签</h2>')
// 获取元素内容
var res = $('div').html()
console.log(res); //输出: <h2>我是h2标签</h2>
// 2.获取元素中的文本内容:类似于原生中的textContent属性
// 获取单标签中的文本,会自动将子元素标签过滤,仅留下文本部分
var res = $('div').text()
console.log(res); //我是h2标签
// 如果元素内容有多个子元素,这些子元素的文本会合并
var res = $('div').html('<h2>我是h2标签</h2><p>我是p标签</p>')
var res = $('div').html()
console.log(res); //输出: <h2>我是h2标签</h2><p>我是p标签</p>
var res = $('div').text()
console.log(res); //输出: 我是h2标签我是p标签
// 3.获取或设置表单控件中的数据: val(),等价于原生中的表单元素的value属性
$('button').click(
function () {
// 读取value属性的值
alert($(':text').val()) //输入框输入:我是文本 点击按钮得到text的值
// 设置value属性的值
$(':text').val('574296004@qq.com')
alert($(':text').val())
}
)
</script>
<!--2.创建DOM元素-->
<script type="text/html">
//第一步:创建新元素,至少一对标签,尖括号绝对不能省略
//可以在标签中直接设置属性
var img = $('<img src="../0402源码/images/gyy.jpg"> ')
//第二步:给新元素添加内容或属性
img.css({
'width':150,
'border-radius':'10%',
'box-shadow':'3px 3px 3px #888'
})
//第三步:添加到页面中
img.appendTo('body')
// 可以使用简化步骤
$('<img>',{
src:'../0402源码/images/gyy.jpg',
style:"width:200px;border-radius:10%;box-shadow:3px 3px 3px #888", //属性之间加分号
title: '我是高圆圆',
click:function () {
alert($(this).attr('title'))
}
}).appendTo('body')
</script>
<!--3.在目标节点上添加或移动节点-->
<script type="text/html">
/*
* 1.插入位置
* 节点内容的前后
* 节点的前后
* 2、要插入的节点
* 对于新创建的节点:叫做添加操作
* 对已存在的节点:叫移动操作
* 3.对应的方法
* 插入到节点内容之后 append()
* 插入到节点内容之前 prepend()
* 插入到节点之后:after()
* 插入到节点之前:before()
* */
$('button').eq(0).on('click',function () {
/**
* 1.append()
* 语法: target.append(content)
* 参数: 要添加或移动的节点
* 功能: 插入到目标元素内容的后面
*/
//1. 添加操作
//第一步: 生成节点元素,添加内容,并设置样式
var li = $('<li>').css('background-color','lightgreen').html('我是append()新生成的节点1')
// $('ul').append(li) //新创建的li添加到了ul之后
//2.移动操作
$('ul').append($('p').eq(0)) //第一个p标签被移动到了ul中最后一个li后面
})
$('button:eq(1)').on('click',function () {
/**
* 2.prepend()
* 语法: target.prepend(content)
* 参数: 要添加或移动的节点
* 功能: 插入到目标元素内容的前面
*/
//第一步: 生成节点元素,添加内容,并设置样式
var li = $('<li>').css('background-color','lightgreen').html('我是prepend()新生成的节点2')
//第二点: 将新节点插入到目标节点内容的后面
$('ul').prepend(li); //新创建的li被添加到了ul的最前面
// 2.移动操作
$('ul').prepend($('p:eq(1)'))
})
$('button:eq(2)').on('click',function () {
/**
* 3.after()
* 语法: target.after(content)
* 参数: 要插入的节点
* 功能: 插入到目标节点的后面
*/
//1. 添加操作
//第一步: 生成节点元素,添加内容,并设置样式
var li = $('<li>').css('background-color','lightgreen').html('我是after()新生成的节点3')
//第二点: 将新节点插入到目标节点的后面
// $('ul').after(li)
// $('li:eq(0)').after(li) //添加新创建的li到ul中第一个li的后面
//2.移动操作
$('li:eq(0)').after($('p:eq(2)'))
})
$('button:eq(3)').on('click',function () {
/**
* 4.before()
* 语法: target.after(content)
* 参数: 要插入的节点
* 功能: 插入到目标元素的前面
*/
//1. 添加操作
//第一步: 生成节点元素,添加内容,并设置样式
var li = $('<li>').css('background-color','lightgreen').html('我是before()新生成的节点4')
// $('ul').before(li)
// $('li:first').before(li)
//2.移动操作
// $('ul').before($('p:eq(3)'))
$('li:eq(0)').before($('p:eq(3)'))
})
</script>
<!--4.将节点添加或移动到目标节点-->
<script type="text/html">
/* 1.插入位置:
节点内容的前后
节点的前后
2.要插入的节点:
对于新创建的节点:叫添加操作
对已存在的节点: 叫移动操作
3.所以对应的应该有四个方法
插入到节点内容之后:appendTo()
插入到节点内容之前:prependTo()
插入到节点之后: InsertAfter()
插入到节点之前: InsertBefore()
*/
$('button').eq(0).on('click',function(){
/**
* 1.appendTo()
* 语法: content.appendTo(target)
* 参数: 要添加或移动到的节点
* 功能: 插入到目标元素内容的后面
*/
//1. 添加操作
//第一步: 生成节点元素,添加内容,并设置样式
var li = $('<li>').css('background-color','lightgreen').html('我是appendTo()新生成的节点1')
//第二点: 将新节点插入到目标节点内容的后面
// li.appendTo($('ul'))
//2.移动操作(请将添加操作的代码注释掉)
$('p:first').appendTo($('ul'))
})
$('button:eq(1)').click(function(){
/**
* 2.prependTo()
* 语法: content.prepend(target)
* 参数: 要添加或移动的节点
* 功能: 插入到目标元素内容的前面
*/
//1. 添加操作
//第一步: 生成节点元素,添加内容,并设置样式
var li = $('<li>').css('background-color','lightgreen').html('我是prependTo()新生成的节点2')
//第二点: 将新节点插入到目标节点内容的后面
// li.prependTo($('ul'))
//2.移动操作(请将添加操作的代码注释掉)
$('p:eq(1)').prependTo($('ul'))
})
$('button').eq(2).on('click',function(){
/**
* 3.insertAfter()
* 语法: content.after(target)
* 参数: 要插入的节点
* 功能: 插入到目标节点的后面
*/
//1. 添加操作
// 第一步: 生成节点元素,添加内容,并设置样式
var p = $('<li>').css('background-color','lightgreen').html('我是insertAfter()新生成的节点3')
//第二点: 将新节点插入到目标节点的后面
// p.insertAfter($('ul'))
// p.insertAfter($('li:eq(1)'))
//2.移动操作
//移动到<ul>之后
// $('p:eq(2)').insertAfter($('ul'))
//移动到第2个<li>之后
$('p:eq(2)').insertAfter($('li:eq(1)'))
})
$('button').eq(3).on('click',function(){
/**
* 4.InsertBefore()
* 语法: content.insertBefore(target)
* 参数: 要插入的节点
* 功能: 插入到目标元素的前面
*/
//1. 添加操作
// 第一步: 生成节点元素,添加内容,并设置样式
var p = $('<li>').css('background-color','lightgreen').html('我是insertBefore()新生成的节点4')
//第二点: 将新节点插入到目标节点的后面
// p.insertBefore($('ul'))
//插入到第3个<li>之前
// p.insertBefore($('li:eq(0)'))
//2.移动操作
//移动到<ul>之前
// $('p:eq(3)').insertBefore($('ul'))
//移动到第3个<li>之前
$('p:eq(3)').insertBefore($('li:eq(2)'))
})
</script>
<script>
$('button:eq(0)').click(function(){
/**
* 1.wrap(content):
* 功能:包裹每一个节点
* 参数:内容或元素
*/
//用法一.用一个新标签来包裹目标元素
// $('a').wrap($('<li>'))
//简写:
$('a').wrap('<li>') // 所有a标签外面被包括了一个li标签
//用法二.用已存在的标签来包裹目标节点
// $('a').wrap($('p'))
})
$('button:eq(1)').click(function(){
/**
* 1.wrapInner(content):
* 功能:包裹每一个节点的内容
* 参数:内容或元素
*/
//用法一.用一个新标签来包裹目标节点内容
// $('a').wrapInner('<strong>')
//用法二.用已存在的标签来包裹目标节点内容
$('a').wrapInner($('p'))
})
$('button:eq(2)').click(function(){
/**
* 1.wrapAll(content):
* 功能:包裹一组节点
* 参数:内容或元素
*/
//用法一.用一个新标签来包裹目标节点内容
// $('a').wrapAll('<div style="background-color: #ff8899">')
//用法二.用已存在的标签来包裹目标节点内容,给<li>再套一个<div>
$('li').wrapAll($('<div style="background-color: cyan">'))
})
$('button:eq(3)').click(function(){
/**
* 1.unwrap(content):
* 功能:删除节点上父元素
* 参数:无
*/
$('a').unwrap()
//可以一直往上走
// $('li').unwrap().unwrap()
})
</script>点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号