0
点赞
收藏
分享

微信扫一扫

jQuery入门学习案例,语法、元素、事件、选择器、常用方法。


1 为什么要使用jQuery

jQuery是一个JavaScript函数库、jQuery极大地简化了JavaScript编程。

jQuery设计的宗旨是“ write Less,Do More”,即倡导写更少的代码,做更多的事情。

它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

jQuery兼容各种主流浏览器。

2 第一个jQuery案例

2.1. 引入jquery函数库。

jQuery 可以从官方其网站 ​​​https://jquery.com/download/​​​ 下载相应版本的函数库,并且在要使用的HTML页面引入即可。

<script type="text/javascript" src="js/jquery-1.12.4.js"></script>

2.2. 写jquery代码。

Jquery的语法:

Jquery元素.方法名(参数);

3 jQuery元素

Jquery调用函数时都要使用jquery元素。

以前我们学习过dom元素。Jquery元素跟dom元素很像。都表示一个html中的标签。

dom元素和jquery元素的区别:


  • js获取到的元素是dom元素。有两种方式,一种是根据id获取dom元素,Document.getElementById();
    另一种是根据name获取到元素数组。
  • Jquery获取到的是jquery元素。$(“标签名”)
  • 两种元素都表示一个标签,但是不会混用方法。Jquery元素有jquery元素的方法。Dom元素不能调用。Dom元素有dom元素的方法,jquery元素调用不了。

<script type="text/javascript">
/* window.οnlοad=function(){
document.getElementById("div1").innerHTML="hello world";
} */
//等价于,上面和下面的效果是一样的
$(function(){
//给div添加内容为hello world
$("#div1").html("hello world");
});
</script>
</head>

<body>
<div id="div1" class="test">111</div>
</body>
</html>

获取jquery元素的方式有很多。

$ (“标签名”)这个是获取元素的一种方式。Jquery中获取元素的方式有很多。但是他的语法都是$(“选择器”);

Jquery元素和dom元素的相互转换


  1. jquery转dom----------jquery元素.get(0);
  2. Dom转jquery---------$(dom元素)

例如:

<script type="text/javascript">
$(function(){
//jquery元素转换为dom元素
//$("div").get(0).innerHTML="hello world";
//dom元素转换为jquery元素
/* $(document.getElementById("div1")).html("hello world");
$(".test").html("hello world"); */
var content=$(".test").html();
alert(content);
});
</script>
</head>

<body>
<div id="div1" class="test">111</div>
</body>
</html>

4 选择器

4.1 基本选择器

$ (“标签”) :标签选择器

$ ("#id") : id选择器

$ (".class") :Class选择器

交集选择器:两个选择器都满足的。$ (“input.test”)选择到class为test的input标签

并集选择器:$ (“input,div”)两个选择器用逗号分隔。表示选中input标签和div标签。

4.2 表单选择器

$(“:text”):选择到type=”text”的文本框。

$(“:button”):选择到type=”button”的按钮。

$(“:checked”):处于选中状态的复选框。

$(“:checkbox”):获取到type为checkbox的表单元素

4.3 属性选择器

$(“[属性名=属性值]”)

4.4 过滤性选择器

$(“input:first”):第一个input标签。

$(“input:eq(0)”):索引为0的input标签

$(“input:eq(5)”):索引为5的input标签

$(“input:last”):最后一个input标签

$(“tr:gt(0)”):选中索引大于0的所有tr标签。

$(“tr:not(:first)”)选中不是第一个的tr标签。

4.5 层次选择器

后代选择器 $(“form .test”):选择到form标签里面class为test的所有标签。

注意:

空格不能乱加,有空格了就是后代选择器。没有空格就是交集

子选择器

$(“form > .test”):找到form标签的class为test的子标签。

5 Jquery元素的方法

5.1 Dom操作相关的方法

Html():获取或者设置标签的内容。带参表示设置,无参表示获取

当赋值时,jquery元素被选中几个,这些元素都会被正常赋值。但是,如果是取值,只能取到第一个元素的值。

Prop():获取或者设置元素的属性值。Prop(“src”):获取元素的src属性,两个参数表示给src属性赋值。

Css():可以设置元素的样式。一个参数是获取样式,两个参数是设置样式。

Size():可以获取到选择器选中的元素的个数

Is():参数是一个选择器。​​Jquery元素.is​​(“选择器”):判断jquery元素是否满足了is参数里面的选择器

Prev():找元素的紧邻的哥哥。

Next():找元素的紧邻的弟弟。

Children():找元素的亲儿子。

Val()等价于prop(“value”):表示获取文本框的value属性。

Parent():找当前元素的父元素。

Remove();删除掉当前元素。

5.2 事件


  1. 把js中的事件去除掉on
  2. 在jquery中事件都是函数,在js中事件是属性。
    Jquery元素.click(function(){});

Click(function(){

});

Mouseover(function(){

});

//第一个参数对应mouseover,第二个参数对应mouseout

Hover(function(){},function(){});

5.3 动画

Show():显示元素,改变元素的高度,宽度,透明度

Hide():隐藏元素

slideDown():显示元素,改变元素的高度

slideUp():隐藏元素

fadeIn():显示元素,改变元素的透明度。

fadeOut():隐藏元素

他们三组函数都可以添加时间类型的参数。

6 This关键字在jquery中的应用


  1. This表示的是调用这个函数的元素。在上面的案例中this就表示$(“input:checkbox:first”).
  2. 在jquery中this表示的是dom元素,不是jquery元素。所以我们使用this时需要将他转换为jquery元素。$(this)是jquery元素。

this的使用:

<script type="text/javascript">
//页面加载
$(function(){
//页面加载完后,给全选框添加一个点击事件
$("input:checkbox:first").click(
function(){
//var t=$("input:checkbox:first").prop("checked");
//this表示当前元素,谁调用了这个函数,谁就是当前元素。
//this但是他表示的dom元素
var t=$(this).prop("checked");
$("[name=f]").prop("checked",t);
}
);
});
function test(){
//处于选中的状态的复选框
if($("[name=f]:checked").size()==$("[name=f]").size()){
$("input:checkbox:first").prop("checked",true);
}else{
$("input:checkbox:first").prop("checked",false);
}
}
</script>
</head>

<body>
<input type="checkbox"/>全选<br/>
<input type="checkbox" name="f" onclick="test()"/>1<br/>
<input type="checkbox" name="f" onclick="test()"/>2<br/>
<input type="checkbox" name="f" onclick="test()"/>3<br/>
</body>
</html>

注意

js中如果使用byName方法获取到多个dom元素,我们需要遍历数组,一个个的给元素的属性赋值。而在jquery中我们可以直接调用方法给所有的元素属性赋值。不需要遍历。



举报

相关推荐

0 条评论