响应式网页设计之jQuery操作DOM

jQuery操作DOM

补充:文章中所有的代码都是写在html文件中,JS代码需要用< script >< /script >标签包起来。


一、jQuery添加节点

  1. 使用jQuery工厂函数$()可以创建HTML元素
    ** $(HTML标签) **
var $h1 = $( "<h1>Hello world</h1>" )
  1. 添加节点
    append()
    $( ’ body ’ ).append ( $h1 )

① 可以直接传入HTML代码

$( ' body ' ).append( "<h1>Hello world</ h1>" )

② 可以添加多个元素

$( ' body ' ).append( $h1,$h2 )

例如:
所列方法的返回值均为原jQuery对象如$(“ul”).append("< li >new< /li >")
的返回值为 $(“ul”)

<ul>
	<li>old</li>
</ul>

在这里插入图片描述
在这里插入图片描述
注意:以上所列方法与前面所列方法执行的任务相同。不同之处在于内容的位置和选择器。
所列方法的返回值均为原jQuery对象

小试牛刀
使用jQuery对按钮绑定事件,当点击该按钮时,
在文本开头处添加“^”符号,结尾处添加“$”符号
在这里插入图片描述
实现代码如下所示:

<p>Hello World</p>
<input type="button" id="add-marks" value="添加符号"/>
<script type="text/javascript">
	$('#add-marks').click(addMarks)
	function addMarks() {
		$('p').prepend('<em>^</em>').append('<em>$</em>')
	}
</ script>

二、jQuery删除节点

以下示例所需的html代码

<div id="container">
	<ul id="list">
		<li id="item-1">1</li>
		<li id="item-2">2</li>
		<li id="item-3">3</li>
	</ul>
</div>

1. remove()

删除被选元素及其子元素
在这里插入图片描述

可输入参数进行过滤
在这里插入图片描述

2. empty()

删除被选元素的所有子元素
在这里插入图片描述

三、jQuery获取节点

以下示例所需的html代码

<div id="container">
	<ul id="list">
		<li id="item-1">1</li>
		<li id="item-2">2</li>
		<li id="item-3">3</li>
		<li id="item-4">4</li>
		<li id="item-5">5</li>
	</ul>
</div>

jQuery获取节点方法大全:
在这里插入图片描述在这里插入图片描述
小试牛刀
使用jQuery对右侧按钮(不能修改HTML代码)绑定事件,点击按钮时,删除对应的输入框及按钮本身
题目所需的html代码

<input type="text"/> <input type="button" value="删除1"/>
<input type="text"/> <input type="button" value="删除2"/>
<input type="text"/> <input type="button" value="删除3"/>

在这里插入图片描述

$('input[type="button"]').click( function() {
	$(this).prev().remove()
	$(this).remove()
})

四、网页小案例

1.题目要求

使用jQuery完成待办事项

① 在输入框输入事项后,按回车键,将该事项添加到下方ul列表并清空输入框

② 新增加的事项应出现在列表最前面

③ 在每个事项后添加三个按钮,上移、下移、删除

④ 上移、下移可以改变对应事项的位置、顺序

⑤ 删除按钮可以删除对应事项

在这里插入图片描述

2.源码奉上

建议先尝试着写一下,自己完成更有成就感喔!
在这里插入图片描述
html纯表格代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
	<script src="https://cdn.bootcdn.net/ajax/libs/jquery/1.8.2/jquery.js"></script>
	<style>
		
	</style>
</head>
<body>
	<input type='text' id="taskInput" name=''>
	<ul></ul>
</body>
<script>
	var $elementInput = $("#taskInput");
	var $btnUp ="<input type='button' id='btnUp' value='↑'>";
	var $btnDown = "<input type='button' id='btnDown' value='↓'>";
	var $btnDel = "<input type='button' id='btnDel' value='删除'>";

	$(document).ready(function(){ 


		
	 });
	//回车键事件
	$elementInput.keyup(function(){
		if(event.keyCode==13){
			if($elementInput.val()!=""){
				$('ul').prepend("<li><span>"+$elementInput.val()+"</span>"+$btnUp+$btnDown+$btnDel+"</li>"); // 添加项目
				$elementInput.val(""); // 清空输入框
			}else{
				alert("请输入任务!");
			}
		}
	});

	/* 任务向上移动 */
	$('ul').on('click', '#btnUp',function(){
		//console.log("向上")
		var $task = $(this).parent();
		//console.log($task)
		var $prev =   $task.prev();
		if($prev.length==0){
			alert("已经是第一个啦");
		}else{
			$(this).parent().remove(); // 直接删除对应的li
			$prev.before($task);
		}
		
	});

	/* 任务向下移动 */
	$('ul').on('click', '#btnDown',function(){
		var $task = $(this).parent();
		console.log($task);
		var $next =   $task.next();
		if($next.length==0){
			alert("已经最后一个啦");
		}else{
			$(this).parent().remove(); // 直接删除对应的li
			$next.after($task);
		}
		
	});

	/* 删除任务 */
	$('ul').on('click', '#btnDel',function(){
		$(this).parent().remove(); // 直接删除对应的li
	});

</script>
</html>
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PRINT!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值