jQuery第五章操作样式

jQuery第五章操作样式

 

jQuery 捕获

jQuery - 获取内容和属性

jQuery 拥有可操作 HTML 元素和属性的强大方法。

 

jQuery DOM 操作

jQuery 中非常重要的部分,就是操作 DOM 的能力。

jQuery 提供一系列与 DOM 相关的方法,这使访问和操作元素和属性变得很容易。

 

DOM = Document Object Model(文档对象模型) 

DOM 定义访问 HTML XML 文档的标准: "W3C 文档对象模型独立于平台和语言的界面,允许程序和脚本动态访问和更新文档的内容、结构以及样式。"

 

获得内容 - 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 设置

 

设置内容 - text()html() 以及 val()

使用三个相同的方法来设置内容:

text() - 设置或返回所选元素的文本内容

html() - 设置或返回所选元素的内容(包括 HTML 标记)

val() - 设置或返回表单字段的值

 

通过 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","//www.w3cschool.cn/jquery"); });

 

attr() 方法也允许同时设置多个属性。

同时设置 href 和 title 属性:

$("button").click(function(){ $("#w3s").attr({ "href" : "//www.w3cschool.cn/jquery", "title" : "jQuery 教程" }); });

attr() 的回调函数

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

带有回调函数的 attr() 方法:

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

jQuery 添加元素

通过 jQuery,可以很容易地添加新元素/内容。

添加新的 HTML 内容

用于添加新内容的四个 jQuery 方法:

append() - 在被选元素内部的结尾插入指定内容

prepend() - 在被选元素内部的开头插入指定内容

after() - 在被选元素之后插入内容

before() - 在被选元素之前插入内容

jQuery append() 方法

jQuery append() 方法在被选元素的结尾插入内容。

实例

$("p").append("Some appended text.");

 

jQuery prepend() 方法

jQuery prepend() 方法在被选元素的开头插入内容。

实例

$("p").prepend("Some prepended text.");

 

通过 append() 和 prepend() 方法添加若干新元素

在上面的例子中,我们只在被选元素的开头/结尾插入文本/HTML。

不过,append() 和 prepend() 方法能够通过参数接收无限数量的新元素。可以通过 jQuery 来生成文本/HTML(就像上面的例子那样),或者通过 JavaScript 代码和 DOM 元素。

 

jQuery after() 和 before() 方法

jQuery after() 方法在被选元素之后插入内容。

jQuery before() 方法在被选元素之前插入内容。

$("img").after("在后面添加文本"); $("img").before("在前面添加文本");

 

通过 after() 和 before() 方法添加若干新元素

after() 和 before() 方法能够通过参数接收无限数量的新元素。可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建新元素。

 

jQuery 删除元素

通过 jQuery,可以很容易地删除已有的 HTML 元素

 

删除元素/内容

如需删除元素和内容,一般可使用以下两个 jQuery 方法:

remove() - 删除被选元素(及其子元素)

empty() - 从被选元素中删除子元素

jQuery remove() 方法

jQuery remove() 方法删除被选元素及其子元素。

$("#div1").remove()

jQuery empty() 方法

jQuery empty() 方法删除被选元素的子元素

$("#div1").empty()

过滤被删除的元素

jQuery remove() 方法也可接受一个参数,允许您对被删元素进行过滤。

该参数可以是任何 jQuery 选择器的语法。

 

删除 class="italic" 的所有 <p> 元素:

$("p").remove(".italic");

 

jQuery CSS 类

jQuery - 获取并设置 CSS 类

jQuery 操作 CSS

jQuery 拥有若干进行 CSS 操作的方法。我们将学习下面这些:

addClass() - 向被选元素添加一个或多个类

removeClass() - 从被选元素删除一个或多个类

toggleClass() - 对被选元素进行添加/删除类的切换操作

css() - 设置或返回样式属性

jQuery addClass() 方法

下面的例子展示如何向不同的元素添加 class 属性。当然,在添加类时,您也可以选取多个元素:

$("button").click(function(){ $("h1,h2,p").addClass("blue"); $("div").addClass("important"); });

您也可以在 addClass() 方法中规定多个类:

实例

$("button").click(function(){

$("#div1").addClass("important blue");

});

 

jQuery removeClass() 方法

不同的元素中删除指定的 class 属性:

$("button").click(function(){ $("h1,h2,p").removeClass("blue"); });

 

jQuery toggleClass() 方法

使用 jQuery toggleClass() 方法。

该方法对被选元素进行添加/删除类的切换操作:

 

$("button").click(function(){

$("h1,h2,p").toggleClass("blue");

});

 

jQuery css() 方法

jQuery css() Method

css() 方法设置或返回被选元素的一个或多个样式属性。

 

返回 CSS 属性

如需返回指定的 CSS 属性的值,请使用如下语法:

css("propertyname");

 

返回首个匹配元素的 background-color 值:

 

$("p").css("background-color");

 

设置 CSS 属性

 

如需设置指定的 CSS 属性,请使用如下语法:

css("propertyname","value");

 

为所有匹配元素设置 background-color 值:

$("p").css("background-color","yellow");

 

设置多个 CSS 属性

如需设置多个 CSS 属性,请使用如下语法:

css({"propertyname":"value","propertyname":"value",...});

 

为所有匹配元素设置 background-color 和 font-size:

$("p").css({"background-color":"yellow","font-size":"200%"});

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值