jQuery基础


jQuery 是一个 JavaScript 库。

jQuery 极大地简化了 JavaScript 编程

一、加载jQuery的方法

  • 网页CDN直接加载
<head>
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">
</script>
</head>
  • 下载文件后加载
<head>
<script src="jquery-1.10.2.min.js"></script>
</head>

二、基本语法

$(selector).action()

文档就绪事件

//完整写法
$(document).ready(function(){
 
   // 开始写 jQuery 代码...
 
});

//简洁写法
$(function(){
 
   // 开始写 jQuery 代码...
 
});

这是为了防止文档在完全加载(就绪)之前运行 jQuery 代码,即在 DOM 加载完成后才可以对 DOM 进行操作。如果在文档没有完全加载之前就运行函数,操作可能失败

三、选择器

jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素。 它基于已经存在的 CSS 选择器,除此之外,它还有一些自定义的选择器

  • 元素选择器
//在页面中选取所有 <p> 元素
$("p")
//按下按钮后,所有p元素都会被隐藏
$(document).ready(function(){
  $("button").click(function(){
    $("p").hide();
  });
});
  • id选择

jQuery #id 选择器通过 HTML 元素的 id 属性选取指定的元素。

页面中元素的 id 应该是唯一的,所以您要在页面中选取唯一的元素需要通过 #id 选择器。

$("#test")
  • .class 选择器
$(".test")
$(document).ready(function(){
  $("button").click(function(){
    $(".test").hide();
  });
});
  • 层级选择器
$("x y")
//找到x所有的后代y
$("x > y")
//找到x所有的儿子y
$("x + y")
//找到紧挨着x所有的y
$("x ~ y")
//找到x所有的兄弟y
  • 更多选择器
$("*")
//选取所有元素
$(this)
//选取当前 HTML 元素
$("p.intro")
//选取 class 为 intro 的 <p> 元素
$("p:first")
//选取第一个 <p> 元素
$("ul li:first")	 
//选取第一个 <ul> 元素的第一个 <li> 元素
$("ul li:first-child")	
//选取每个 <ul> 元素的第一个 <li> 元素
$("[href]")	
//选取带有 href 属性的元素
$("a[target='_blank']")	
//选取所有 target 属性值等于 "_blank" 的 <a> 元素
$("a[target!='_blank']")	
//选取所有 target 属性值不等于 "_blank" 的 <a> 元素
$(":button")	
//选取所有 type="button" 的 <input> 元素 和 <button> 元素
$("tr:even")	
//选取偶数位置的 <tr> 元素
$("tr:odd")
//选取奇数位置的 <tr> 元素

四、操作DOM对象

4.1 内容操作

  • text() - 设置或返回所选元素的文本内容
  • html() - 设置或返回所选元素的内容(包括 HTML 标记)
  • val() - 设置或返回表单字段的值

获得内容

$("#btn1").click(function(){
  alert("Text: " + $("#test").text());
});
$("#btn2").click(function(){
  alert("HTML: " + $("#test").html());
});
$("#btn1").click(function(){
  alert("值为: " + $("#test").val());
});

设置内容

$("#btn1").click(function(){
    $("#test1").text("Hello world!");
});

回调函数
回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串

$("#btn1").click(function(){
    $("#test1").text(function(i,origText){
        return "旧文本: " + origText + " 新文本: Hello world! (index: " + i + ")"; 
    });
});

4.2 属性操作

获得属性

$("button").click(function(){
  alert($("#runoob").attr("href"));
});

设置属性

$("button").click(function(){
    $("#runoob").attr({
        "href" : "http://www.runoob.com/jquery",
        "title" : "jQuery 教程"
    });
});

回调函数

$("button").click(function(){
  $("#runoob").attr("href", function(i,origValue){
    return origValue + "/jquery"; 
  });
});

4.3 添加操作

  • append() :在被选元素的结尾插入内容
  • prepend() :在被选元素的开头插入内容
  • after():在被选元素之后插入内容
  • before():在被选元素之前插入内容
$("p").append("追加文本");

4.4 删除操作

  • remove():删除被选元素(及其子元素)
  • empty() :从被选元素中删除子元素
$("#div1").remove();

五、操作CSS对象

5.1 添加类

  • addClass() - 向被选元素添加一个或多个类
.important
{
        font-weight:bold;
        font-size:xx-large;
}
 
.blue
{
        color:blue;
}
$("button").click(function(){
  $("h1,h2,p").addClass("blue");
  $("div").addClass("important");
});
  • removeClass() - 从被选元素删除一个或多个类
  • toggleClass() - 对被选元素进行添加/删除类的切换操作
  • css() - 设置或返回样式属性

5.2 css方法

  • 返回 CSS 属性
css("propertyname");
$("p").css("background-color");
  • 设置 CSS 属性
css("propertyname","value");
$("p").css("background-color","yellow");
  • 设置多个 CSS 属性
css({"propertyname":"value","propertyname":"value",...});

5.3 位置相关方法

  • offset():获取元素在当前窗口的相对偏移或者设置元素位置
  • position():获取元素相对于父元素的位置偏移
  • scrolltop():获取元素相对于滚动条顶部的偏移
  • scrollleft():获取元素相对于滚动条左部的偏移

5.4 尺寸

  • width():设置或返回元素的宽度
  • height():设置或返回元素的高度
  • innerWidth():返回元素的宽度(包括内边距)
  • innerHeight():返回元素的高度(包括内边距)
  • outerWidth():返回元素的宽度(包括内边距和边框)
  • outerHeight():返回元素的高度(包括内边距和边框)

六、事件

基本语法

写法一:

$("元素").动作(function(){
    // 动作触发后执行的代码!!
});

写法二:

$("元素").on("动作","选择器",function(){
    // 动作触发后执行的代码!!
});

常用动作

  • click()

click() 方法是当按钮点击事件被触发时会调用一个函数

$("p").click(function(){
  $(this).hide();
});
//当点击事件在某个 <p> 元素上触发时,隐藏当前的 <p> 元素
  • dblclick()

当双击元素时,会发生 dblclick 事件

  • mouseenter()

当鼠标指针穿过元素时,会发生 mouseenter 事件

  • mouseleave()

当鼠标指针离开元素时,会发生 mouseleave 事件

  • mousedown()

当鼠标指针移动到元素上方,并按下鼠标按键时,会发生 mousedown 事件

  • mouseup()

当在元素上松开鼠标按钮时,会发生 mouseup 事件

  • hover()

hover()方法用于模拟光标悬停事件

  • focus()

当元素获得焦点时,发生 focus 事件
当通过鼠标点击选中元素或通过 tab 键定位到元素时,该元素就会获得焦点

  • blur()

当元素失去焦点时,发生 blur 事件。

六、each和data方法

each

each() 方法规定为每个匹配元素规定运行的函数

$(selector).each(function(index,element))
$("button").click(function(){
  $("li").each(function(){
    alert($(this).text())
  });
});
//输出每个 li 元素的文本

data

data() 方法向被选元素附加数据,或者从被选元素获取数据

$(selector).data(name) //获得数据

$(selector).data(name,value) //添加数据
$("#btn1").click(function(){
  $("div").data("greeting", "Hello World");
});
$("#btn2").click(function(){
  alert($("div").data("greeting"));
});
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值