2021-08-21 WEB前端课堂笔记Day07

1 JQuery选择器

分类:

  • 通过css选择器选择元素
    • 基本选择器
    • 层次选择器
    • 属性选择器
  • 通过过滤选择器选择元素
    • 基本过滤选择器
    • 可见性过滤选择器

1.1 基本选择器

包括标签选择器、类选择器、id选择器、并集选择器、全局选择器

  • element
  • .class
  • #id
  • selector1,selector2,selectorN
  • *

1.2 层次选择器

通过DOM元素间的一个层次选择元素

  • ancestor descendant 后代选择器 选取 ancestor元素里的所有的descendant后代元素

  • parent > child 子选择其 选取parent元素下的child子元素

  • prev + next 相邻元素选择器 选择紧挨着prev元素之后的next元素

  • prev ~ siblings 同辈元素选择器 选取prev元素之后的所有的siblings

$(function(){
    //使用后代选择器选择div下的所有的p元素 不仅包括儿子辈 也包括孙子辈
    $(".textRight p").css("color","red");
   // 子元素选择器  选择的直接子类   不涉及孙子辈
   $(".textRight>p").css("color","red");
   // 相邻元素选择器
    $("h1+p").css("text-decoration","underline");
    // 同辈元素选择器  选择同级的元素
    $("h1~p").css("text-decoration","underline");
})

1.3 属性选择器

$(function(){
     $("#news a[class]").css("background","#dbdbdb");
     $("#news a[class=hot]").css("background","red");
     $("#news a[class!=hot]").css("background","green");
    // 属性以特定值开头
    $("#news a[href^='www']").css("background","#dbdbdb");
    //属性值以特定值结尾
    $("#news a[href$='html']").css("background","#dbdbdb");
      //属性值包含特定值
   $("#news a[href*='k2']").css("background","#dbdbdb");
});

1.4 过滤选择器

通过特定的过滤规则 筛选出所需的元素

分类:

  • 基本过滤选择器
  • 可见性过滤选择器
  • 表单对象过滤选择器
  • 内容过滤选择器
  • 子元素过滤选择器
1.4.1 基本过滤选择器
  • :first 选取第一个元素

  • :not(selector) 选取所有去除与给定元素匹配的元素

  • :even 选取所有偶数索引的元素

  • :odd 选取所有索引为奇数的元素

  • :eq(index) 选取索引等于index的元素

  • :gt(index) 大于

  • :lang1.9+ 选择指定语言的所有元素。

  • :last 选取最后一个

  • :lt(index) 小于

  • :header 选取所有的标题元素

  • :animated 选取所有有动画的

  • :focus 选取当前获取焦点的元素

  • :root1.9+ 选择该文档的根元素。

2 JQuery事件

分类:

基础事件:

  • 鼠标事件
  • window事件
  • 表单事件

复合事件:

  • 鼠标悬停
  • 鼠标连续点击

2.1 鼠标事件

$(function(){
	$(".nav-ul a").mouseover(function(){
		$(this).css("background-color","green");
	})
	$(".nav-ul a").mouseout(function(){
		$(this).css("background-color","#ff2832");
	})
})

mouseover和mouseenter 都是鼠标进入触发 鼠标在其他被选元素的子元素上来回进入时 触发的mouseover 但是不会触发mouseenter

mouseout和mouseleave 鼠标离开触发 鼠标在子元素上触发 mouseout 不会触发mouseleave

2.2 键盘事件

	$(document).ready(function () {
		$("[type=password]").keyup(function () {
			$("#events").append("keyup");
		}).keydown(function (e) {
			$("#events").append(" keydown");
		}).keypress(function () {
			$("#events").append(" keypress");
		});

		$(document).keydown(function (event) {
			if (event.keyCode == "13") {//按回车键
				alert("确认要提交么?");
			}
		});
	});

2.3 复合事件

hover() 相当于mouseover和mouseout事件的组合
hover(enter,leave)

 $(".on").hover(function(){
        $(".topDown").show();
    },function(){
        $(".topDown").hide();
    })

2.4 窗口大小改变的时候 触发的时间

$(window).resize(function(){
		alert("Stop it!");
	  });

3 事件的绑定和移除

//绑定
bind(type,[data],fn)
//移除
unbind([type],[fn()])
//unbind()不带参数时,表示移除所绑定的全部事件

type 事件类型 主要包括click moueseouver mouseout等事件

data 可选函数

fn 表示事件的处理函数

//绑定单个事件
$(function(){
    $(".on").bind("mouseover",function(){
        $(".topDown").show();
    })
})
//绑定多个事件
$(function () {
    $(".on").bind({
        "mouseover": function () {
            $(".topDown").show();
        },
        "mouseout": function () {
            $(".topDown").hide();
        }
    })
})
//解除绑定
    $("#del").click(function(){
         $("#nav li:first").unbind("click",content1)
         $("#nav li:first").unbind("click",bg1)
        // 解除元素上绑定的所有事件
        $("#nav li:first").unbind();
    })
})

4 动画

 //元素显示和隐藏
 $(".on").hover(function(){
        $(".topDown").show("slow");
    },function(){
        $(".topDown").hide("fast");
    })
//元素的透明度
//fadeIn([s],[e],[fn])
//fadeOut([s],[e],[fn])
 $(".on").hover(function(){
        $(".topDown").fadeIn(1000);
    },function(){
        $(".topDown").fadeOut(2000);//淡出的时间 单位毫秒  slow  nomal  fast
    })
//元素的高度
//slideDown([s],[e],[fn]) 
//slideUp([s,[e],[fn]]) 
  $(".on").hover(function(){
        $(".topDown").slideUp(1000);
    },function(){
        $(".topDown").slideDown(2000);//淡出的时间 单位毫秒
    })
   

5 JQuery中的DOM操作

  • 样式操作
  • 内容及value值的操作
  • 节点操作
  • 节点属性操作
  • 节点的遍历
  • css-DOM操作

5.1 设置或获取样式的值

css(name,value);//设置单个样式值
css({name:value,name:value,...}) 同时设置多个属性
css(name)//获取样式属性值
 <script src="jquery-1.12.4.js"></script>
    <script>
        $(function(){
            $("div").css({"width":"200px","height":"200px","border":"1px solid #000","background-color":"red","opacity":"0.5"})
        })
       
    </script>

5.2 追加和移除样式

//追加前提是有该样式
<script src="js/jquery-1.12.4.js" ></script>
 <script>
	 $(function(){
		 $("h2").mouseover(function(){
			 $("p").addClass("content border");//追加样式
		 }).mouseout(function(){
			 $("p").removeClass("content");//移除样式
		 })
	 })
 </script>

5.3 切换样式

toggleClass(class|fn,sw]) 模拟了addClass和removeClass实现样式切换的过程

	$("h2").click(function(){
			$("p").toggleClass("content border");
		})

5.4 判断是否包含指定的样式

hasClass(class) 判断是否包含指定的样式

$("h2").mouseover(function(){
		if(!$("p").hasClass("content")){
			$("p").addClass("content");
		}
	})
	$("h2").mouseout(function(){
		if($("p").hasClass("content")){
			$("p").removeClass("content");
		}
	})

5.5 内容操作

  • HTML代码操作
  • 标签内容的操作
  • 属性值的操作
   //html会解读标签
   $(function(){
        $("h1").click(function(){
            $(".proList").html("<div><ul><li>买了商品后,查不到物流信息怎么办?</li><li>申请退款后,交易退款成功,钱到哪里?</li><li>卖家拒绝退款,怎么办?</li><li>投诉发生的时间和条件是什么?</li><li>如何申请淘宝客服介入?</li></ul></div>")
        })
    })
   //text直接输出文本
   $(function(){
        $("h1").click(function(){
            $(".proList").text("<div><ul><li>买了商品后,查不到物流信息怎么办?</li><li>申请退款后,交易退款成功,钱到哪里?</li><li>卖家拒绝退款,怎么办?</li><li>投诉发生的时间和条件是什么?</li><li>如何申请淘宝客服介入?</li></ul></div>")
        })
    })

html() 用户获取第一个匹配元素的HTML内容或文本内容

html(param) 设置匹配元素的HTML内容或文本

text() 获取匹配元素的文本内容

text(param) 设置文本内容

	  //获取属性值
	  $(function(){
		  //获得焦点事件
		  $(".search_txt").focus(function(){
			  $(this).val();//获取input的value属性值
			 //$(this).val("");//设置input的value属性值
		  })
		  $(".search_btn").click(function(){
		      var txt = $(".search_txt").val();
			  console.log(txt);
		  })
	  })

5.6 节点操作

  • 查找节点
  • 创建节点
  • 插入节点
  • 删除节点
  • 替换节点
  • 复制节点

创建节点:

$()工厂函数获取或者创建节点

$(selector) 通过选择器获取节点

$(element) 把DOM节点转换为Jquery节点

$(html) 使用HTML字符串来创建Jquery节点

var $newLi= $("<li></li>");
var $newLi= $("<li>这是一个新创建的li节点</li>");
var $newLi= $("<li title='new'>这是一个新创建的li节点</li>");

插入节点:

删除节点:

  • empty() 清空节点内容

  • remove(expr) 删除整个节点

替换节点

复制节点

clone([Even[,deepEven]]) 一个布尔值(true 或者 false)指示事件处理函数是否会被复制。

5.7 属性操作

5.8 节点的遍历

遍历子元素

children() 用来获取当前元素的所有子元素

遍历同辈元素

  • next([expr])
  • prev
  • siblings

遍历前辈元素

parent 获取父级元素

parents 元素的祖先元素

其他的遍历方法

each(callback) 为每个匹配的元素执行同样的函数

$(selector).each(function(index,element){
	//index 元素的索引 /位置
	//element 当前元素
})
 <script>
	 $(function(){
		 $("img").click(function(){
			 $("li").each(function(index,element){
				 var str =$(this).text();
				 var h3 = $("<h3>"+index+"、"+str+"</h3>")
				 $("section").append(h3);
			 })
		 })
	 })
 </script>
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值