jQuery教程
1. jQuery获取内容和属性
获得内容 - text()、html() 以及 val(): 三个简单实用的用于 DOM 操作的 jQuery 方法:
- text() - 设置或返回所选元素的文本内容
- html() - 设置或返回所选元素的内容(包括 HTML 标记)
- val() - 设置或返回表单字段的值
下面的例子演示如何通过 jQuery text() 和 html() 方法来获得内容:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("#btn1").click(function(){
alert("Text: " + $("#test").text());
});
$("#btn2").click(function(){
alert("HTML: " + $("#test").html());
});
});
</script>
</head>
<body>
<p id="test">这是段落中的 <b>粗体</b> 文本。</p>
<button id="btn1">显示文本</button>
<button id="btn2">显示 HTML</button>
</body>
</html>
下面的例子演示如何通过 jQuery val() 方法获得输入字段的值:
$("#btn1").click(function(){
alert("值为: " + $("#test").val());
});
下面的例子演示如何通过jQuery attr() 方法获得链接中 href 属性的值:
$("button").click(function(){
alert($("#runoob").attr("href"));
});
2. jQuery获设置内容
设置内容
$("#btn1").click(function(){
$("#test1").text("Hello world!");
});
$("#btn2").click(function(){
$("#test2").html("<b>Hello world!</b>");
});
$("#btn3").click(function(){
$("#test3").val("RUNOOB");
});
设置属性 - attr()
jQuery attr() 方法也用于设置/改变属性值。
下面的例子演示如何改变(设置)链接中 href 属性的值:
$("button").click(function(){
$("#runoob").attr("href","http://www.runoob.com/jquery");
});
3. jQuery添加元素
我们将学习用于添加新内容的四个 jQuery 方法:
- append() - 在被选元素的(内部)结尾插入内容
- prepend() - 在被选元素的(内部)开头插入内容
- after() - 在被选元素之后(外部)插入内容
- before() - 在被选元素之前(外部)插入内容
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("#btn1").click(function(){
$("p").append(" <b>追加文本</b>。");
});
$("#btn2").click(function(){
$("ol").append("<li>追加列表项</li>");
});
});
</script>
</head>
<body>
<p>这是一个段落。</p>
<p>这是另外一个段落。</p>
<ol>
<li>List item 1</li>
<li>List item 2</li>
<li>List item 3</li>
</ol>
<button id="btn1">添加文本</button>
<button id="btn2">添加列表项</button>
</body>
</html>
jQuery可以和JS结合使用,但是不要忘了引入jQuery库。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
function appendText(){
var txt1="<p>文本。</p>"; // 使用 HTML 标签创建文本
var txt2=$("<p></p>").text("文本。"); // 使用 jQuery 创建文本
var txt3=document.createElement("p");
txt3.innerHTML="文本。"; // 使用 DOM 创建文本 text with DOM
$("body").append(txt1,txt2,txt3); // 追加新元素
}
</script>
</head>
<body>
<p>这是一个段落。</p>
<button onclick="appendText()">追加文本</button>
</body>
</html>
注: prepend()、after()、after()用法和 append()类似。
4. jQuery删除元素
如需删除元素和内容,一般可使用以下两个 jQuery 方法:
remove() - 删除被选元素(及其子元素)
empty() - 从被选元素中删除子元素
$("#div1").remove();
$("#div1").empty();
过滤被删除的元素
jQuery remove() 方法也可接受一个参数,允许您对被删元素进行过滤。
该参数可以是任何 jQuery 选择器的语法。
下面的例子删除 class=“italic” 的所有
元素:
$("p").remove(".italic");
5. 获取并设置CSS类
jQuery 拥有若干进行 CSS 操作的方法。
- addClass() - 向被选元素添加一个或多个类
- removeClass() - 从被选元素删除一个或多个类
- toggleClass() - 对被选元素进行添加/删除类的切换操作
- css() - 设置或返回样式属性
================================================
假如已经有以下CSS样式
.important
{
font-weight:bold;
font-size:xx-large;
}
.blue
{
color:blue;
}
把元素添加到类中
$("button").click(function(){
$("h1,h2,p").addClass("blue");
$("div").addClass("important");
});
也可以同时加入到多个类中
$("button").click(function(){
$("body div:first").addClass("important blue"); //div:first 表示的是body里第一个div
});
jQuery removeClass() 方法
下面的例子演示如何在不同的元素中删除指定的 class 属性:
实例
$("button").click(function(){
$("h1,h2,p").removeClass("blue");
});
jQuery toggleClass() 方法
下面的例子将展示如何使用 jQuery toggleClass() 方法。该方法对被选元素进行添加/删除类的切换操作:
$("button").click(function(){
$("h1,h2,p").toggleClass("blue");
});
6 CSS方法()
6.1 设置CSS属性
如需设置指定的 CSS 属性的语法:
css(“propertyname”,“value”);
下面的例子将为所有匹配元素设置 background-color 值:
$("p").css("background-color","yellow");
6.2 设置多个 CSS 属性
设置多个属性时,单个键值对之间的“,”变为“:”,不同属性之间用“,”隔开
$("p").css({"background-color":"yellow","font-size":"200%"});
6.3 返回CSS属性
返回css属性,即调用已有的元素样式,返回样式本身的代码。
$("p").css("background-color");
7 jQuery 尺寸
8 祖先遍历
祖先遍历可以向上遍历 DOM 树。
这些 jQuery 方法很有用,它们用于向上遍历 DOM 树:
- parent()
- parents()
- parentsUntil()
jQuery parent() 方法
parent() 方法返回被选元素的直接父元素。
该方法只会向上一级对 DOM 树进行遍历。
下面的例子返回每个 元素的直接父元素:
$(document).ready(function(){
$("span").parent();
});
注: parents()、parentsUntil() 用法和 parent()类似。
9 后代遍历
下面是两个用于向下遍历 DOM 树的 jQuery 方法:
children()
find()
jQuery children() 方法
children() 方法返回被选元素的所有直接子元素。
该方法只会向下一级对 DOM 树进行遍历。
下面的例子返回每个
$(document).ready(function(){
$("div").children();
});
注: find()用法和 children()类似。
10 遍历-过滤
三个最基本的过滤方法是:
- first()
- last()
- eq()
它们允许您基于其在一组元素中的位置来选择一个特定的元素。
其他过滤方法,比如: - filter()
- not()
允许您选取匹配或不匹配某项指定标准的元素。
$(document).ready(function(){
$("div p").first(); //选取首个 <div> 元素内部的第一个 <p> 元素
});
$(document).ready(function(){
$("div p").first(); //选择最后一个 <div> 元素中的最后一个 <p> 元素
});
$(document).ready(function(){
$("p").eq(1); //选取第二个 <p> 元素(索引号 1)
});
$(document).ready(function(){
$("p").filter(".url"); //返回带有类名 "url" 的所有 <p> 元素
});
$(document).ready(function(){
$("p").not(".url"); //返回不带有类名 "url" 的所有 <p> 元素
});