jQuery 可操作 HTML 元素和属性
jQuery 提供一系列与 DOM 相关的方法访问和操作元素和属性
获得内容 - text()、html() 以及 val()
三个简单实用的用于 DOM 操作的 jQuery 方法:
-text() - 设置或返回所选元素的文本内容
-html() - 设置或返回所选元素的内容(包括 HTML 标记)
-val() - 设置或返回表单字段的值
下面的例子演示如何通过 jQuery text() 和 html() 方法来获得内容:
$("#btn1").click(function(){
alert("Text: " + $("#test").text());
});
$("#btn2").click(function(){
alert("HTML: " + $("#test").html());
});
下面的例子演示如何通过 jQuery val() 方法获得输入字段的值:
$("#btn1").click(function(){
alert("Value: " + $("#test").val());
});
获取属性 - attr()
jQuery attr() 方法用于获取属性值。
下面的例子演示如何获得链接中 href 属性的值:
$("button").click(function(){
alert($("#w3s").attr("href"));
});
jQuery 文档操作
jQuery 属性操作
jQuery CSS 操作
设置内容和属性
通过 text()、html() 以及 val() 方法来设置内容:
$("#btn1").click(function(){
$("#test1").text("Hello world!");
});
$("#btn2").click(function(){
$("#test2").html("<b>Hello world!</b>");
});
$("#btn3").click(function(){
$("#test3").val("Dolly Duck");
});
text()、html() 以及 val() 的回调函数
上面的三个 jQuery 方法:text()、html() 以及 val(),同样拥有回调函数。回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回希望使用的字符串。
下面的例子演示带有回调函数的 text() 和 html():
$("#btn1").click(function(){
$("#test1").text(function(i,origText){
return "Old text: " + origText + " New text: Hello world!
(index: " + i + ")";
});
});
$("#btn2").click(function(){
$("#test2").html(function(i,origText){
return "Old html: " + origText + " New html: Hello <b>world!</b>
(index: " + i + ")";
});
});
设置属性 - attr()
jQuery attr() 方法也用于设置/改变属性值。
下面的例子演示如何改变(设置)链接中 href 属性的值:
$("button").click(function(){
$("#w3s").attr("href","http://www.w3school.com.cn/jquery");
});
attr() 方法也允许同时设置多个属性。
下面的例子演示如何同时设置 href 和 title 属性:
$("button").click(function(){
$("#w3s").attr({
"href" : "http://www.w3school.com.cn/jquery",
"title" : "W3School jQuery Tutorial"
});
});
attr() 的回调函数:
$("button").click(function(){
$("#w3s").attr("href", function(i,origValue){
return origValue + "/jquery";
});
});
添加元素
用于添加新内容的四个 jQuery 方法:
-append() 在被选元素的结尾插入内容
-prepend() 在被选元素的开头插入内容
-after() 在被选元素之后插入内容
-before() 在被选元素之前插入内容
(“p”).append(“Someappendedtext.”);
(“p”).prepend(“Some prepended text.”);
(“img”).after(“Sometextafter”);
(“img”).before(“Some text before”);
在上面的例子中,只在被选元素的开头/结尾插入文本/HTML。
append() 、 prepend()、after() 和 before() 方法能够通过参数接收无限数量的新元素。可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建新元素。
在下面的例子中,我们创建若干个新元素。这些元素可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建。然后我们通过 append() 方法把这些新元素追加到文本中(对prepend()、after() 和 before()同样有效):
function appendText()
{
var txt1="<p>Text.</p>"; // 以 HTML 创建新元素
var txt2=$("<p></p>").text("Text."); // 以 jQuery 创建新元素
var txt3=document.createElement("p"); // 以 DOM 创建新元素
txt3.innerHTML="Text.";
$("p").append(txt1,txt2,txt3); // 追加新元素
}
function afterText()
{
var txt1="<b>I </b>"; // 以 HTML 创建新元素
var txt2=$("<i></i>").text("love "); // 通过 jQuery 创建新元素
var txt3=document.createElement("big"); // 通过 DOM 创建新元素
txt3.innerHTML="jQuery!";
$("img").after(txt1,txt2,txt3); // 在 img 之后插入新元素
}
删除元素
删除元素和内容,一般可使用以下两个 jQuery 方法:
-remove() 删除被选元素(及其子元素)
-empty() 从被选元素中删除子元素
(“#div1”).remove();(“#div1”).empty();
过滤被删除的元素
jQuery remove() 方法也可接受一个参数,允许对被删元素进行过滤。
该参数可以是任何 jQuery 选择器的语法。
下面的例子删除 class=”italic” 的所有
元素:
$("p").remove(".italic");
获取并设置 CSS 类
-addClass() 向被选元素添加一个或多个类
-removeClass() 从被选元素删除一个或多个类
-toggleClass() 对被选元素进行添加/删除类的切换操作
-css() 设置或返回样式属性
$("button").click(function(){
$("h1,h2,p").addClass("blue");
$("div").addClass("important");
});
$("button").click(function(){
$("#div1").addClass("important blue");
});
css() 方法
css() 方法设置或返回被选元素的一个或多个样式属性。
css(“propertyname”);
下面的例子将返回首个匹配元素的 background-color 值:
$("p").css("background-color");
设置指定的 CSS 属性“”
css(“propertyname”,”value”);
下面的例子将为所有匹配元素设置 background-color 值:
$("p").css("background-color","yellow");
设置多个 CSS 属性:
css({“propertyname”:”value”,”propertyname”:”value”,…});
下面的例子将为所有匹配元素设置 background-color 和 font-size:
$("p").css({"background-color":"yellow","font-size":"200%"});
尺寸
多个处理尺寸的重要方法:
-width() 设置或返回元素的宽度(不包括内边距、边框或外边距)
-height() 设置或返回元素的高度(不包括内边距、边框或外边距)
-innerWidth() 方法返回元素的宽度(包括内边距)
-innerHeight() 方法返回元素的高度(包括内边距)
-outerWidth() 返回元素的宽度(包括内边距和边框)
-outerHeight() 返回元素的高度(包括内边距和边框)
outerWidth(true) 返回元素的宽度(包括内边距、边框和外边距)
outerHeight(true) 返回元素的高度(包括内边距、边框和外边距)
返回文档(HTML 文档)和窗口(浏览器视口)的宽度和高度:
$("button").click(function(){
var txt="";
txt+="Document width/height: " + $(document).width();
txt+="x" + $(document).height() + "\n";
txt+="Window width/height: " + $(window).width();
txt+="x" + $(window).height();
alert(txt);
});
设置指定的
$("button").click(function(){
$("#div1").width(500).height(500);
});