JavaScript学习笔记

JQuery

JQuery是一个JavaScript的函数库

极大简化了JavaScript编程

document.getElementById("id");

//jquery
$("#id")

JQuery的使用

1、下载
下载JQuery文件即可,在使用时导入文件即可
文件分为min.js版本和develop版本
上线使用min版本效率速度更快
开发使用develop版本
遇见$ id undefined 一般是导入有问题
2、通过CDN引用
谷歌和微软的服务器都存有 jQuery,连接使用第三方在线JS文件

<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js">
</script>
</head>

//status = 200 代表加载成功

JQuery文档加载

建议都写在$()中

    <script>
        //文档加载完成后再执行
        //简写方式
        $(
            function(){
                console.lod("hello jquery")
            }
        );

        //文档加载完成后执行
        //等同于window.onload
        $(document).ready(
            function(){
                console.log("hello~~~");
            }
        )
    </script>

JQuery库特性

jQuery 库包含以下特性:

  • HTML 元素选取
//使用选择器选取元素 CSS中的选择器
        //根据标签
        $("标签名")
        //根据类选择器
        $(".类名")
        //根据ID选择器
        $("#id名")
//和CSS中的选择器使用方式相同

         //获取到整个div
         var divIdTag = document.getElementById("divId");
         console.log(divIdTag);
         //因为获取整个div,就可以获取innnerText
         console.log(divIdTag.innerText);
         //得到div对象
         var divIdTag2 =  $("#divId");
         //不能使用innnerText
  • HTML 元素操作

JS

//元素对象.innerText
//元素对象.innerHTML

JQ

//获取文本
元素.text()
//设置文本
元素.text(文本内容)
//获取html
元素.html()
//设置html
元素.html("html内容")

//val(): 获取/设置元素的value属性值

属性

通用属性操作
1. attr(): 获取/设置元素的属性
2. removeAttr():删除属性
3. prop():获取/设置元素的属性
4. removeProp():删除属性

* attr和prop区别?
	1. 如果操作的是元素的固有属性,则建议使用prop
	2. 如果操作的是元素自定义的属性,则建议使用attr
	

  • CSS 操作
第一种
对Class属性的操作
1. addClass():添加class属性值 会自动添加空格
2. removeClass():删除class属性值
3. toggleClass():切换class属性
		toggleClass("one"): 
			* 判断如果元素对象上存在class="one",则将属性值one删除掉。  如果元素对象上不存在class="one",则添加

image

第二种
通过attr()设置样式style或修改Class的值

 $("p").attr("style","color:green")
  $("p").attr("class","pNewClass")
第三种
通过.CSS修改样式
$("#div1").css("backgroundColor","pink");
$("#div1").css({
	color:"red",
	fontSize:32px,
	//也可以用"fontSize"、"font-size"
});
  • HTML 事件函数
事件绑定方式一:
通过事件函数进行事件绑定
$("选择器").事件类型函数(函数);

image

绑定所有p标签,对每个P标签调用$(this),可以获取确切对象的内容等*(不需要循环)
image

事件绑定方式二:
bind绑定事件
bind("事件类型","事件函数")
同一种可以重复绑定

image

事件绑定方式三:
on绑定事件
on("事件类型","事件函数")
同一种可以重复绑定,用法和bind完全一样

image

事件绑定方式四:
toggle绑定事件
* jq对象.toggle(fn1,fn2...)
	* 当单击jq对象对应的组件后,会执行fn1.第二次点击会执行fn2.....
		* 注意:1.9版本 .toggle() 方法删除,jQuery Migrate(迁移)插件可以恢复此功能。
		 <script src="../js/jquery-migrate-1.0.0.js" type="text/javascript" charset="utf-8"></script>
解除事件绑定
jq对象.unbind(事件类型)--解除全部该类型事件绑定
jq对象.unbind(事件类型,事件函数) --解除具体事件绑定
jq对象.off(事件类型)--解除全部该类型事件绑定
jq对象.off(事件类型,事件函数) --解除具体事件绑定

image

  • JavaScript 特效和动画
1. 三种方式显示和隐藏元素
		1. 默认显示和隐藏方式
			1. show([speed,[easing],[fn]])
				1. 参数:
					1. speed:动画的速度。三个预定义的值("slow","normal", "fast")或表示动画时长的毫秒数值(如:1000)
					2. easing:用来指定切换效果,默认是"swing",可用参数"linear"
						* swing:动画执行时效果是 先慢,中间快,最后又慢
						* linear:动画执行时速度是匀速的
					3. fn:在动画完成时执行的函数,每个元素执行一次。(回调函数)

			2. hide([speed,[easing],[fn]])
			3. toggle([speed],[easing],[fn])
		
		2. 滑动显示和隐藏方式
			1. slideDown([speed],[easing],[fn])
			2. slideUp([speed,[easing],[fn]])
			3. slideToggle([speed],[easing],[fn])

		3. 淡入淡出显示和隐藏方式
			1. fadeIn([speed],[easing],[fn])
			2. fadeOut([speed],[easing],[fn])
			3. fadeToggle([speed,[easing],[fn]])
  • HTML DOM 遍历和修改

JQuery的for循环遍历

<!-- 遍历部分的html文件 -->
<body>
    <ul>
        <li name="aa">1</li>
        <li name="bb">2</li>
        <li name="cc">3</li>
        <li name="dd">4</li>
        <li name="ee">5</li>
    </ul>
</body>

1、使用for循环+eq()进行遍历

        //第一种方式
        $(function(){
            var arr = $("ul li");
            for(i = 0;i<arr.length;i++){
                console.log(arr.eq(i).text());
            }
        })

2、使用$().each()遍历

        //第二种方式
        $(function(){
            $("ul li").each(function(index,element){
                //第一种写法,使用this
                console.log($(this).text());
                //第二种写法,使用index和element
                console.log(element,index);
                console.log(element.getAttribute("name"));
                //index:下标
                //element:对应的的元素 <li name="aa">1</li>
                //用到了input集合的索引,有用到了input集合的dom对象,
                //可以通过该对象,拿到其对应的属性如:name,value等;
            })
        })

3、使用$.each()遍历

//第三种方式
//与第二种相同,只是把数组写到了each()中
        $(function(){
            $.each($("ul li"),function(index,element){
                //第一种写法,使用this
                console.log($(this).text());
                //第二种写法,使用index和element
                console.log(element,index);
                console.log(element.getAttribute("name"));
            })
        })

4、使用for..of遍历

//语法格式是:for(元素对象 of 容器对象)
        $(function(){
            for (li of $("ul li")) {
                console.log(li);
                //返回对象<li name="aa">1</li>
            }
        })

posted @ 2022-05-19 11:38  夜色哪里都是美  阅读(35)  评论(0)    收藏  举报