JQuery学习笔记(三)

本文介绍了 jQuery 中操作 DOM 的各种方法,包括获取和设置内容、属性、CSS 类及尺寸等,帮助开发者更高效地进行网页开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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() 方法来获得内容:
实例
1
2
3
4
5
6
$( "#btn1" ).click( function (){
   alert( "Text: "  + $( "#test" ).text());
});
$( "#btn2" ).click( function (){
   alert( "HTML: "  + $( "#test" ).html());
});

亲自试一试

下面的例子演示如何通过 jQuery val() 方法获得输入字段的值:

实例
1
2
3
$( "#btn1" ).click( function (){
   alert( "Value: "  + $( "#test" ).val());
});

亲自试一试

获取属性 - attr()

jQuery attr() 方法用于获取属性值。

下面的例子演示如何获得链接中 href 属性的值:

实例
1
2
3
$( "button" ).click( function (){
   alert($( "#w3s" ).attr( "href" ));
});

亲自试一试

jQuery - 设置内容和属性

设置内容 - text()、html() 以及 val()
我们将使用前一章中的三个相同的方法来设置内容:
下面的例子演示如何通过 text()、html() 以及 val() 方法来设置内容:
实例
1
2
3
4
5
6
7
8
9
$( "#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():
实例
1
2
3
4
5
6
7
8
9
10
11
12
13
$( "#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 属性的值:
实例
1
2
3
4
5
6
$( "button" ).click( function (){
   $( "#w3s" ).attr({
     "href"  "http://www.w3school.com.cn/jquery" ,
     "title"  "W3School jQuery Tutorial"
   });
});

亲自试一试

attr() 的回调函数
jQuery 方法 attr(),也提供回调函数。回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。
下面的例子演示带有回调函数的 attr() 方法:
实例
1
2
3
4
5
$( "button" ).click( function (){
   $( "#w3s" ).attr( "href" function (i,origValue){
     return  origValue +  "/jquery" ;
   });
});

亲自试一试

jQuery - 添加元素

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

添加新的 HTML 内容

我们将学习用于添加新内容的四个 jQuery 方法:
  • append() - 在被选元素的结尾插入内容
  • prepend() - 在被选元素的开头插入内容 (这两个是在元素内部的开头和结尾<>。。内容 。。</>
  • after() - 在被选元素之后插入内容
  • before() - 在被选元素之前插入内容  (这是在元素外。。<></>。。)

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

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

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

在下面的例子中,我们创建若干个新元素。这些元素可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建。然后我们通过 append() 方法把这些新元素追加到文本中(对 prepend() 同样有效):

实例
1
2
3
4
5
6
7
8
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);          // 追加新元素
}

亲自试一试

jQuery after() 和 before() 方法

jQuery after() 方法在被选元素之后插入内容。
jQuery before() 方法在被选元素之前插入内容。
实例
1
2
3
$( "img" ).after( "Some text after" );
  
$( "img" ).before( "Some text before" );

亲自试一试

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

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

在下面的例子中,我们创建若干新元素。这些元素可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建。然后我们通过 after() 方法把这些新元素插到文本中(对 before() 同样有效):

实例
1
2
3
4
5
6
7
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 - 删除元素

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

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

  • remove() - 删除被选元素(及其子元素)
  • empty() - 从被选元素中删除子元素

过滤被删除的元素

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

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

下面的例子删除 class="italic" 的所有 <p> 元素:

实例

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

亲自试一试

jQuery - 获取并设置 CSS 类

jQuery 操作 CSS

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

  • addClass() - 向被选元素添加一个或多个类
  • removeClass() - 从被选元素删除一个或多个类
  • toggleClass() - 对被选元素进行添加/删除类的切换操作
  • css() - 设置或返回样式属性
实例样式表

下面的样式表将用于本页的所有例子:

1
2
3
4
5
6
7
8
9
10
.important
{
font-weight : bold ;
font-size : xx-large ;
}
  
. blue
{
color : blue ;
}
jQuery addClass() 方法

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

实例
1
2
3
4
$( "button" ).click( function (){
   $( "h1,h2,p" ).addClass( "blue" );
   $( "div" ).addClass( "important" );
});
1
2
3
$( "button" ).click( function (){
   $( "#div1" ).addClass( "important blue" );
});

亲自试一试

jQuery removeClass() 方法

下面的例子演示如何不同的元素中删除指定的 class 属性:

实例
1
2
3
$( "button" ).click( function (){
   $( "h1,h2,p" ).removeClass( "blue" );
});

亲自试一试

jQuery toggleClass() 方法

下面的例子将展示如何使用 jQuery toggleClass() 方法。该方法对被选元素进行添加/删除类的切换操作:

实例
1
2
3
$( "button" ).click( function (){
   $( "h1,h2,p" ).toggleClass( "blue" );
});

亲自试一试

jQuery - css() 方法

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

返回 CSS 属性

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

1
css( "propertyname" );

下面的例子将返回首个匹配元素的 background-color 值:

实例
1
$( "p" ).css( "background-color" );

亲自试一试

设置 CSS 属性

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

css("propertyname","value");
下面的例子将为所有匹配元素设置 background-color 值:

实例

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

亲自试一试

设置多个 CSS 属性

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

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

下面的例子将为所有匹配元素设置 background-color 和 font-size:

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

亲自试一试

jQuery - 尺寸

通过 jQuery,很容易处理元素和浏览器窗口的尺寸。

jQuery 尺寸 方法

jQuery 提供多个处理尺寸的重要方法:

  • width()
  • height()
  • innerWidth()
  • innerHeight()
  • outerWidth()
  • outerHeight()

jQuery width() 和 height() 方法

width() 方法设置或返回元素的宽度(不包括内边距、边框或外边距)。
height() 方法设置或返回元素的高度(不包括内边距、边框或外边距)。

下面的例子返回指定的 <div> 元素的宽度和高度:
实例
1
2
3
4
5
6
$( "button" ).click( function (){
   var  txt= "" ;
   txt+= "Width: "  + $( "#div1" ).width() +  "</br>" ;
   txt+= "Height: "  + $( "#div1" ).height();
   $( "#div1" ).html(txt);
});

亲自试一试

jQuery innerWidth() 和 innerHeight() 方法
innerWidth() 方法返回元素的宽度(包括内边距)。
innerHeight() 方法返回元素的高度(包括内边距)。

下面的例子返回指定的 <div> 元素的 inner-width/height:
实例
1
2
3
4
5
6
$( "button" ).click( function (){
   var  txt= "" ;
   txt+= "Inner width: "  + $( "#div1" ).innerWidth() +  "</br>" ;
   txt+= "Inner height: "  + $( "#div1" ).innerHeight();
   $( "#div1" ).html(txt);
});

亲自试一试

jQuery outerWidth() 和 outerHeight() 方法

outerWidth() 方法返回元素的宽度(包括内边距和边框)。

outerHeight() 方法返回元素的高度(包括内边距和边框)。

下面的例子返回指定的 <div> 元素的 outer-width/height:

实例

1
2
3
4
5
6
$( "button" ).click( function (){
   var  txt= "" ;
   txt+= "Outer width: "  + $( "#div1" ).outerWidth() +  "</br>" ;
   txt+= "Outer height: "  + $( "#div1" ).outerHeight();
   $( "#div1" ).html(txt);
});

亲自试一试

outerWidth(true) 方法返回元素的宽度(包括内边距、边框和外边距)。
outerHeight(true) 方法返回元素的高度(包括内边距、边框和外边距)。

实例

1
2
3
4
5
6
$( "button" ).click( function (){
   var  txt= "" ;
   txt+= "Outer width (+margin): "  + $( "#div1" ).outerWidth( true ) +  "</br>" ;
   txt+= "Outer height (+margin): "  + $( "#div1" ).outerHeight( true );
   $( "#div1" ).html(txt);
});

亲自试一试

jQuery - 更多的 width() 和 height()

下面的例子返回文档(HTML 文档)和窗口(浏览器视口)的宽度和高度:

实例

1
2
3
4
5
6
7
8
$( "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);
});

亲自试一试

下面的例子设置指定的 <div> 元素的宽度和高度:

实例
1
2
3
$( "button" ).click( function (){
   $( "#div1" ).width(500).height(500);
});

亲自试一试

 







jQuery 文档操作方法

这些方法对于 XML 文档和 HTML 文档均是适用的,除了:html()。

方法 描述
addClass() 向匹配的元素添加指定的类名。
after() 在匹配的元素之后插入内容。
append() 向匹配元素集合中的每个元素结尾插入由参数指定的内容。
appendTo() 向目标结尾插入匹配元素集合中的每个元素。
attr() 设置或返回匹配元素的属性和值。
before() 在每个匹配的元素之前插入内容。
clone() 创建匹配元素集合的副本。
detach() 从 DOM 中移除匹配元素集合。
empty() 删除匹配的元素集合中所有的子节点。
hasClass() 检查匹配的元素是否拥有指定的类。
html() 设置或返回匹配的元素集合中的 HTML 内容。
insertAfter() 把匹配的元素插入到另一个指定的元素集合的后面。
insertBefore() 把匹配的元素插入到另一个指定的元素集合的前面。
prepend() 向匹配元素集合中的每个元素开头插入由参数指定的内容。
prependTo() 向目标开头插入匹配元素集合中的每个元素。
remove() 移除所有匹配的元素。
removeAttr() 从所有匹配的元素中移除指定的属性。
removeClass() 从所有匹配的元素中删除全部或者指定的类。
replaceAll() 用匹配的元素替换所有匹配到的元素。
replaceWith() 用新内容替换匹配的元素。
text() 设置或返回匹配元素的内容。
toggleClass() 从匹配的元素中添加或删除一个类。
unwrap() 移除并替换指定元素的父元素。
val() 设置或返回匹配元素的值。
wrap() 把匹配的元素用指定的内容或元素包裹起来。
wrapAll() 把所有匹配的元素用指定的内容或元素包裹起来。
wrapinner() 将每一个匹配的元素的子内容用指定的内容或元素包裹起来。


jQuery 属性操作方法

下面列出的这些方法获得或设置元素的 DOM 属性。

这些方法对于 XML 文档和 HTML 文档均是适用的,除了:html()。

方法 描述
addClass() 向匹配的元素添加指定的类名。
attr() 设置或返回匹配元素的属性和值。
hasClass() 检查匹配的元素是否拥有指定的类。
html() 设置或返回匹配的元素集合中的 HTML 内容。
removeAttr() 从所有匹配的元素中移除指定的属性。
removeClass() 从所有匹配的元素中删除全部或者指定的类。
toggleClass() 从匹配的元素中添加或删除一个类。
val() 设置或返回匹配元素的值。


jQuery CSS 操作函数

下面列出的这些方法设置或返回元素的 CSS 相关属性。

CSS 属性 描述
css() 设置或返回匹配元素的样式属性。
height() 设置或返回匹配元素的高度。
offset() 返回第一个匹配元素相对于文档的位置。
offsetParent() 返回最近的定位祖先元素。
position() 返回第一个匹配元素相对于父元素的位置。
scrollLeft() 设置或返回匹配元素相对滚动条左侧的偏移。
scrollTop() 设置或返回匹配元素相对滚动条顶部的偏移。
width() 设置或返回匹配元素的宽度。








小结

上面的三个表是jQuery对HTML操作的方法,大部分在前面的方法介绍中已经提到了,这里给出只是为了能整体的了解;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小_杭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值