JavaWeb_jQuery基础

2 篇文章 0 订阅
1 篇文章 0 订阅

day1:jQuery

什么是jQuery?

顾名思义,jQuery就是Javascript和查询Query,它是辅助Javascript的开发js类库。

jQuery核心思想!!

它的核心思想是write less ,do more (写的更少做的更多),所以它实现了很多浏览器的兼容问题。

1.JquerHelloWorld

<script type="text/javascript">
    //简写
    $(function () {
        var $jqe = $("#buton1");
        $jqe.click(function () {
            alert("jQuery的单机事件")
        })
    })
    //全写
    $(document).ready(function () {
		var $jqe = $("#buton1");
        $jqe.click(function () {
            alert("jQuery的单机事件")
        })
	})
</script>
<body>
<button id="buton1">按钮</button>
</body>

2.常见问题:

1.使用jQuery需要引入jQuery库吗?

是的必须引入

2.jQuery中的$是什么意思?

一个函数

3.怎么为按钮添加点击响应函数的。

使用jQuery查询到标签对象

使用标签对象.click(function(){})

3.jQuery引入标签

<script type="text/javascript" src="script/jQuery-1.7.2.js"></script>
<script type="text/javascript">

$(function () {
    alert("加载完成调用")
    $("<div>\n" +
        "    <button>啊</button>\n" +
        "    <button>as啊啊啊啊啊啊d</button>\n" +
        "</div>").appendTo("body");
})
</script>
<body>
<div>
    <span>asd</span>
    <span>asd</span>
</div>
</body>

4.传入参数为[选择器字符串]时

${"#id"}; id选择器,根据id查询标签对象

${“标签名”}; 标签名选择器,根据指定的标签名查询标签对象

${".class选择器"} 类型选择器,可以根据class对象选择对象

5.传入参数为Dom对象时;

会把这个dom对象转换为jQuery对象

6.jQuery对象和Dom对象的区别

6.1什么时jQuery对象什么时Dom对象?

Dom对象:

getelmentById() 查询的标签时Dom对象

getelmentByName() 查询出来的标签时Dom对象

getelmentByTagName() 查询出来的标签时Dom对象

creatElement() 方法创建的对象时Dom对象

jQuery对象

通过jQuery提供的Api创建的对象时jQuery对象

通过jQuery包装的dom对象时jQuery对象

通过jQuery提供的api查询出来的对象时jQuery对象

6.2jQuery对象的本质是什么?

jQuery对象是dom对象的数组+jQuery提供的一系列功能函数。

6.3jQuery对象和dom对象有什么区别?

jQuery对象不能使用dom对象的属性和方法;

dom对象也不能使用jQuery对象的属性和方法;

6.4Dom对象和jQuery对象互转

1.dom对象转化为jQuery对象(***)

1.现有dom对象

2.${dom对象}就可以转换为jQuery对象

<script type="text/javascript">
	$(function () {
	alert($(document.getElementById("testDiv")));//dom转换为jQuery对象
	})
</script>
2.jQuery对象转换为dom对象(***)

1.现有jQuery对象

2.jQuery对象[下标]取出响应的dom对象

<script type="text/javascript">
	$(function () {
	alert($(document.getElementById("testDiv"))[0]);//jQuery转换为dom对象
	})
</script>

7.jQuery选择器**

1.基本选择器

#id 选择器:id查找选择对象

.class 选择器:class查找标签对象

elment 选择器:标签名选择器

** 选择器:表示所有元素

$( “#id,.class,elment” ) 选择器:组合选择器

2.层级选择器

div form 后代选择器:匹配指定元素中的指定元素例如:div下的form标签

div > form 子元素选择器:在给定的父元素下匹配所有的子元素 div为父 form为子

div+form 相邻元素选择器:匹配紧挨在div元素之后的form元素

div ~ form:之后的兄弟选择器:匹配所有在div之后同辈的form元素(平级)

3.过滤选择器

:first 获取匹配到元素的第一个

:last 获取匹配到的最后一个元素

:not(selector) 去除所有给定元素

:even 匹配所有索引值为偶数的元素

:odd 匹配所有索引值为奇数的元素

:eq(index) 匹配一个给定索引值的元素

:gt(index) 匹配所有大于给定索引值的元素

:lt(index) 匹配所有小于给定索引值的元素

:header 匹配h1,h2,h3之类的标题标签

:animated 匹配所有正在执行动画的元素

案例
    <script type="text/javascript">
        $(document).ready(function () {
            function anmateIt() {
                $("#mover").slideToggle("slow", anmateIt);
            }
            anmateIt();
        });
        $(document).ready(function () {
            //1.选择第一个 div 元素
            $("#btn1").click(function () {
                $("div:first").css("background", "#bbffaa")
            })
            //2.选择最后一个 div 元素
            $("#btn2").click(function () {
                $("div:last").css("background", "#bbffaa")
            })
            //3.选择class不为 one 的所有 div 元素
            $("#btn3").click(function () {
                $("div:not(.one)").css("background", "#bbffaa")
            })
            //4.选择索引值为偶数的 div 元素
            $("#btn4").click(function () {
                $("div:even").css("background", "#bbffaa")
            })
            //5.选择索引值为奇数的 div 元素
            $("#btn5").click(function () {
                $("div:odd").css("background", "#bbffaa")
            })
            //6.选择索引值为大于 3 的 div 元素
            $("#btn6").click(function () {
                $("div:gt(3)").css("background", "#bbffaa")
            })
            //7.选择索引值为等于 3 的 div 元素
            $("#btn7").click(function (){
                $("div:eq(3)").css("background","#bbffaa")
            })
            //8.选择索引值为小于 3 的 div 元素
            $("#btn8").click(function (){
                $("div:lt(3)").css("background","#bbffaa")
            })
            //9.选择所有的标题元素
            $("#btn9").click(function (){
                $(":header").css("background","#bbffaa")
            })
            //10.选择当前正在执行动画的所有元素
            $("#btn10").click(function (){
                $(":animated").css("background","#bbffaa")
            })
            //11.选择没有执行动画的最后一个div
            $("#btn11").click(function () {
                $("div:not(:animated):last").css("background","#bbffaa")
            })

        })
    </script>

4.内容过滤器

标签名:contains(text) 匹配给定包含的文本元素

标签名:empty 匹配不包含子元素或者文本的空元素

标签名:parent 匹配包含子元素或者文本的元素

标签名:has(selector)含有选择器所匹配的元素下的元素

$.trim

div:has(.mini)  div下所有class为mini的元素
案例
		<script type="text/javascript">
			$(document).ready(function(){
				function anmateIt(){
					$("#mover").slideToggle("slow", anmateIt);
				}
				anmateIt();
			});
            
			$(document).ready(function(){
				//1.选择 含有文本 'di' 的 div 元素
				$("#btn1").click(function () {
					$("div:contains('di')").css("background", "#bbffaa")
				})
				//2.选择不包含子元素(或者文本元素) 的 div 空元素
				$("#btn2").click(function(){
					$("div:empty").css("background", "#bbffaa")
				})
				//3.选择含有 class 为 mini 元素的 div 元素
				$("#btn3").click(function(){
					$("div:has(.mini)").css("background", "#bbffaa")
				})
				//4.选择含有子元素(或者文本元素)的div元素
				$("#btn4").click(function () {
					$("div:parent").css("background", "#bbffaa")
				})
			});
		</script>

5.属性过滤器

“标签名[attribute]” 匹配包含给定属性的元素 标签名
[attribute=value] 匹配给定属性是某个特定值的元素
[attribute!=value] 匹配不含有某个特定值的元素
[attribute^=value] 匹配给定属性是以某些值开头的元素
[attribute$=value] 匹配给定属性是以某些值结尾的元素
[attribute*=value] 匹配给定属性包含某些特定值的元素
[attrSel1] [attrSel2] [attrSelN] 复合选择器,需要同时满足多个条件

案例
    <script type="text/javascript">
        $(function() {
            //1.选取含有 属性title 的div元素
            $("#btn1").click(function() {
                $("div[title]").css("background", "#bbffaa");
            });
            //2.选取 属性title值等于'test'的div元素
            $("#btn2").click(function () {
                $("div[title='test']").css("background", "#bbffaa");
            })
            //3.选取 属性title值不等于'test'的div元素(*没有属性title的也将被选中)
            $("#btn3").click(function () {
                $("div[title!='test']").css("background", "#bbffaa");
            })
            //4.选取 属性title值 以'te'开始 的div元素
            $("#btn4").click(function () {
                $("div[title^='te']").css("background", "#bbffaa");
            })
            //5.选取 属性title值 以'est'结束 的div元素
            $("#btn5").click(function () {
                $("div[title$='est']").css("background", "#bbffaa");
            })
            //6.选取 属性title值 含有'es'的div元素
            $("#btn6").click(function () {
                $("div[title*='es']").css("background", "#bbffaa");
            })
            //7.首先选取有属性id的div元素,然后在结果中 选取属性title值 含有'es'的 div 元素
            $("#btn7").click(function () {
                $("div[id][title *='es']").css("background", "#bbffaa");
            })
            //8.选取 含有 title 属性值, 且title 属性值不等于 test 的 div 元素
            $("#btn8").click(function () {
                $("div[title][title!='test']").css("background", "#bbffaa");
            })
        });
    </script>

6.表单过滤器

:input 匹配所有input标签
:text 匹配所有文本输入框
:password 匹配所有密码输入框
:radio
:checkbox
:submit
:image
:reset
:button
:file
:hidden

表单对象的属性
:enabled 匹配所有可用的
:disabled 匹配所有禁用的
:checked 匹配所有已经选择的 (多选框使用)
:selected 匹配所有已经选择的 (下拉多选框使用)

案例
<script type="text/javascript">
        $(function () {
            //1.对表单内 可用input 赋值操作
            $("#btn1").click(function () {
                $(":input:enabled").val("我是万能程序员")
            });
            //2.对表单内 不可用input 赋值操作
            $("#btn2").click(function () {
                $(":input:disabled").val("我是不可选中的,也是万能的")
            });
            //3.获取多选框选中的个数  使用size()方法获取选取到的元素集合的元素个数
            $("#btn3").click(function () {
                alert($(":checkbox:checked").length)
            });
            //4.获取多选框,每个选中的value值
            $("#btn4").click(function () {
               var $checkboies = $(":checkbox:checked");
               //jQuery遍历法
                $checkboies.each(function () {
                    alert(this.value)
                })
            });
            //5.获取下拉框选中的内容
            $("#btn5").click(function () {
                var $select = $("select option:selected");
                $select.each(function () {
                    alert(this.innerHTML)
                })
            });
        })
    </script>

8.元素筛选

eq() 获取给定索引的元素 功能和:eq()一样

first() 获取第一个元素 功能和:first()一样

last() 获取最后一个元素 功能和:last()一样

filter(exp) 留下匹配的元素

is(exp) 判断是否匹配给定的元素,只要又一个匹配就返回true

has(exp) 返回包含又匹配选择器的元素的元素 功能和:has()一样

not(exp) 删除给定选择器的元素 功能和:not一样

children(exp) 返回给定选择器的子元素 功能和:parent > children一样

find(exp) 返回给定选择器的后代元素 功能和:祖先 后代 一样

next() 返回当前元素的下一个兄弟元素 功能和:prev + next一样

nexAll() 返回当前元素后边所有兄弟元素 功能和:prev ~ next一样

nextUntil() 返回当前元素到指定元素位置的后面元素

parent() 返回父元素

prev(exp) 返回当前元素的上一个兄弟元素

prevAll() 返回当前元素前面所有的兄弟元素

prevUnit(exp) 返回当前元素到指定匹配元素为止的之前元素

siblings(exp) 返回所有兄弟元素

add() 把add匹配的元素添加到当前jQuery对象中

day2:jQuery

1.jquery属性操作:

html() 它可以设置和获取其实标签到结束标签的内容。

text() 它可以设置起始标签和结束标签的text文本内容

val() 它可以设置和获取表单项的value属性值。

attr() 可以设置和获取属性的值,不推荐操作checked,readonly,selected,disabledt等

prop() 以设置和获取属性的值,只推荐操作checked,readonly,selected,disabledt等

2.jquery的增幅删改

内部插入

appendTo a.appendTo() 把a插到b子元素的末尾

prependTo a.prependTo()把a插到b所有子元素前面

外部插入

insertAfter() a.insertAfter(b) 得到 b a

inserBefore() a.inserBefore(b) 得到 a b

替换

replaceWith() a.replaceWith(b) 用b替换掉a

relaceAll() a.relaceAll(b) 用a替换掉所有b

删除

remove() a.remove() 删除a标签

empty() a.empty() 情况a标签里的内容

3.CSS操作

addClass() 添加样式

removeClass()删除样式

toggleClass()有就删除没有就添加

offset()获取和设置元素的坐标 top left

4.jquery动画操作

基本动画

show() 将隐藏的元素显示

hide() 将显示的元素隐藏

toggle() 可见就隐藏不可见就显示

淡入淡出

fadeln() 淡入

fadeOut() 淡出

fadeTo() 透明度设置 可以1为可见 0透明 0.5半透明

fadeToggle() 如果淡入点击淡出

以上方法都可以添加参数

1.可以添加动画的执行时间长度,以毫秒为单位 1000毫秒为1秒

2.可以添加动画的回调函数(动画完成后自动调用)

5.jquery事件操作

加载事件

jquery

$(function(){
})

js

window.οnlοad= function(){
}

他们的触发顺序

1,。先执行jquery加载事件

2.再执行原生js加载事件

分别在什么时候触发

1.jquery的页面加载完成之后是浏览器的内核解析完页面的标签创建好dom对象之后就马上执行。

2.原生js的页面加载完成之后,除了要等浏览器的内核解析完标签创建dom对象好后,还要等标签显示的内容加载完成

他们的执行次数

1.jquery的页面加载完成后是全部把注册的function函数,依次顺序全部执行

2.原生js的页面加载完成后只执行一次的赋值函数。

jquery中的其他的事件处理方法

click() 可以绑定单机事件,也可以触发单机事件

mouseover() 鼠标移入事件

mouseout() 鼠标移出事件

mousemove() 鼠标移动事件

bind(“xxx xxx",function(){}) 可以给元素一次性绑定一个或多个事件

one() 可以给元素一次性绑定一个或多个事件**,但只会响应一次**

unbind(”click“); 跟bind方法相反的操作,接触绑定事件

live() 也是用来绑定事件的。它可以用来匹配选择器匹配的所有元素,哪怕这个元素是之后动态创建的

6.事件冒泡

什么是事件的冒泡?

事件冒泡,是指父子元素同时监听同一个事件。当触发子元素的事件的时候,同一个事件也被传递到了父元素的事件里去响应

向父级传递事件

如何阻止事件冒泡?

在事件函数体内,return false,可以阻止事件的冒泡传递 这样不会传递了

7.事件对象:

JavaScript事件对象

事件对象,是封装有触发的事件信息的一个JavaScript的对象。

我们重点关心的是怎么拿到这个JavaScript的事件对象,以及使用。

如何获取JavaScript事件的对象?

给元素绑定事件的时候,在function(event){}参数列表中添加一个参数,这个参数名一般取为event,也可以自定义,这个event就是JavaScript传递事件处理函数的事件对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值