批改状态:合格
老师批语:
0917作业
1. 编程:$()函数的常用场景:选择元素,创建元素,执行回调等。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>编程1:$()函数常用的场景:选择元素,创建元素,执行回调</title>
</head>
<body>
<script src="../lib/jquery.js"></script>
<script>
//添加创建元素
//1.$(selector/html/obj/function())
$('<ul class="list"></ul>').appendTo('body');
$('.list').append($('<li >今天是下雨的第5天</li>'));
//创建元素时添加元素
$('.list').append($('<li id="two">雨可以停一下吗</li>'));
//将创建元素的属性或方法,如果较多,推荐使用对象字面量的方式进行添加
$('.list').append($('<li>',{
class:'sunshine',
text:'晴天和***在哪里啊',
click:function(){
alert("我是小***啊!")
}}));
//选择元素进行执行回调
$(document).ready(function(){
let li = $('li')[1];
li.innerHTML = '<span style="color:yellowgreen">明天就是第六天</span>';
$('li').eq(1).html('<span style="color:lightsalmon">***要出来了吧</span>');
});
// $(function()):直接执行一个回调,这是执行jQuery代码最简单最常用的方式
// 简写:直接传递一个匿名函数给$(),$()可以执行多次,所以 $(function())也可以调用多次
$(function(){
$('.sunshine').css('color','#00EE00');
})
//each(function):对jquery对象中的每个元素进行回调处理,css()一会再详细介绍
$('li').each(function(){
$(this).css('background-color','#EE9572');
});
//get()和[],获取jquery对象中的dom,将jquery转为dom·
$('li').get(0).style.backgroundColor = 'lightgreen'
$('li')[1].setAttribute('style','color: red');
console.log($('li').get().length); //不传参数返回全部元素
// index(selector/element)
console.log($('li.sunshine').index()); // 返回为第三个dom的数字索引: 2
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
2.编程:jQuery常用的选择器操作,重点在层级和表单上
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>编程2:jQuery中常用的选择器</title>
<style>
table {
border-collapse: collapse; /*设置表格合并边框模型*/
width: 700px;
height:300px;
text-align: center;
margin: 20px auto;/*两个参数,第一个参数是定上下,上下外边各10px.第二个是左右自动适应,*/
}
.highlight {
background-color: yellow;
}
#title {
color: red;
}
</style>
</head>
<body>
<table>
<caption >购物清单</caption>
<tr>
<th>编号</th>
<th>名称</th>
<th>数量</th>
<th>备注</th>
<th >操作</th>
</tr>
<tr id="item1">
<td>1</td>
<td>酱油</td>
<td>一瓶</td>
<td>海天</td>
<td><a href="http://jd.com" >点击***</a></td>
</tr>
<tr>
<td>2</td>
<td>肉</td>
<td>3斤</td>
<td>五花肉</td>
<td ><a href="http://jd.com" >点击***</a></td>
</tr>
<tr>
<td>3</td>
<td>糖</td>
<td>1斤</td>
<td>冰糖</td>
<td > <a href="http://jd.com">点击***</a></td>
</tr>
</table>
邮箱:<input type="text"> <br>
密码:<input type="password"> <br>
<!--input:radio-->
<input type="radio" name="gender" value="male" checked>男
<input type="radio" name="gender" value="female">女
<br>
<!--input:checkbox-->
<input type="checkbox" name="hobby[]" value="dance"checked>跳舞
<input type="checkbox" name="hobby[]" value="sing">唱歌
<br>
你的学历:
<select name="" id="">
<option value="">幼儿园</option>
<option value="小学" selected>小学</option>
<option value="">初中</option>
<option value="">其它</option>
</select>
<br>
<button type="submit">提交</button>
<button type="reset" disabled>重置</button>
<script src="../lib/jquery.js"></script>
<script>
//通用选择器
//addClass() 方法向被选元素添加一个或多个类。
//该方法不会移除已存在的 class 属性,仅仅添加一个或多个 class 属性
// $('*').addClass('list'); //选择了页面中所有元素
// $('tr').addClass('item'); // 选择所有的 <tr>标签
// $('.list').css('color','red'); // 选择有class="list"的元素
// $('.item').addClass('highlight');
// $('#item1').addClass('highlight'); // id选择器
//层级选择器
// $('tr:first th').addClass('highlight'); // 选择第一个<tr>下全部<th>
// $('li:first > th').addClass('highlight'); // 仅选择子级元素,更深的级别忽略
//th:contains('HTML'):last 定位到第一个内容是编号列表项上
// $("th:contains('编号'):last").addClass('highlight'); //验证定位效果
// $("th:contains('编号'):last + th").addClass('highlight'); //相依兄弟
// $("th:contains('编号'):last ~ th").addClass('highlight'); // 相邻所有兄弟
// 选择文本框,属性选择器和表单过滤器
// $('input[type="text"]').addClass('highlight'); // 属性选择器
// 元素:input表示 选择<input><select><textarea><button>
//$(':input').not(':submit').not(':disabled').addClass('highlight');
// console.log($(':checkbox:checked').val()); // 当前选中的值,dance
// console.log($(':checkbox').not(':checked').val()); //未被选中的值,sing
//console.log($(':checkbox').val()); //默认返回被选中的值
console.log($(':input :selected').val()); // 注意过滤器之间必须要加空格,类:input并不针对select
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
3. 编程:常用的DOM操作有哪些?一定要结合实例完成
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>编程3:常用的DOM操作有哪些?一定要结合实例完成</title>
</head>
<body>
<ul>
<li>我是列表项01</li>
<li>我是列表项02</li>
<li>我是列表项03</li>
<li>我是列表项04</li>
<li>我是列表项05</li>
</ul>
<!--导入jQuery函数库-->
<script src="../lib/jquery.js"></script>
<script>
//1.元素内部添加
//append()和appendTo(): 将当前元素添加到父元素内部的尾部
// 添加到尾部
$('ul').append('<li>新元素1</li>');
$('<li>新元素2</li>').appendTo('ul');
// 添加到尾部
//prepend()和prependTo(): 将节点添加到父元素内部的头部
$('ul').prepend('<li>新元素3</li>');
$('<li>新元素4</li>').prependTo('ul');
//2.元素前后添加,就是根据索引,中间也可以添加新元素
//after()和insertAfter():将元素插入到当前节点的后面
$('li:eq(3)').after('<li>新元素5</li>');
$('<li>新元素6</li>').insertAfter('li:eq(4)');
//before()和insertBefore():将元素插入到当前节点的前面
$('li:eq(7)').before('<li>新元素7</li>');
$('<li>新元素8</li>').insertBefore('li:eq(8)');
//3.替换:将li文本包含有: "新元素"内部的元素全部替换成指定元素
//replaceWith()和replaceAll():替换掉匹配的html内容
$('li:contains("新元素")').replaceWith('<li style="color:indianred">新元素</li>');
$('<li style="color:lightseagreen">新元素</li>').replaceAll('li:contains("新元素")');
//4.删除
//remove() 方法移除被选元素,包括所有的文本和子节点。
//empty():删除匹配到的元素集合中所有的子节点
// 不传参数是全部删除
$('li').remove();
// 删除奇数(从0开始)
$('li').remove(':odd');
$('li').remove();
//等价于 $('li').remove();
$('ul').empty();
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
4. 问答: jQuery与原生javascript相比,有哪些优势,哪些劣势。
JavaScript的优点和缺点:
优点:
1.性能:由于JavaScript运行在***端,节省了web服务器的请求时间和带宽
轻量级的脚本语言,比较容易学习。
2.运行在用户机器上,运行结果和处理相对比较快。
3.可以使用第三方附加组件来检查代码片段。
缺点:
1.安全问题:由于JavaScript在***端运行,可能被用于黑客目的。
2.渲染问题:在不同浏览器中的处理结果可能不同。
jQuery优缺点:
优点:
1.jQuery消除了JavaScript跨平台兼容问题。
2.相比其他JavaScript和JavaScript库,jQuery更容易使用。
3.jQuery有一个庞大的库/函数。
4.jQuery有良好的文档和帮助手册。
5.jQuery支持AJAX。
缺点:
1.由于不是原生JavaScript语言,理解起来可能会受到限制。
2.项目中需要包含jQuery库文件。如果包含多个版本的jQuery库,可能会发生冲突。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号