jQuery HTML

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 HTML 参考手册
如需有关 jQuery HTML 方法的完整内容,请访问以下参考手册:

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","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() 的回调函数
jQuery 方法 attr(),也提供回调函数。回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。
下面的例子演示带有回调函数的 attr() 方法:
实例

$("button").click(function(){ 
  $("#w3s").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 元素。

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

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() 方法在被选元素之前插入内容。
实例

$("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() 同样有效):
实例

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 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() - 设置或返回样式属性

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

.important{
  font-weight:bold;font-size:xx-large;
}

.blue{
  color:blue;
}

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() 方法

jQuery css() 方法
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%"});

亲自试一试

jQuery - 尺寸

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

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

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

jQuery width() 和 height() 方法
width() 方法设置或返回元素的宽度(不包括内边距、边框或外边距)。
height() 方法设置或返回元素的高度(不包括内边距、边框或外边距)。
下面的例子返回指定的 <div> 元素的宽度和高度:
实例

$("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:
实例

$("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:
实例

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

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

$("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 文档)和窗口(浏览器视口)的宽度和高度:
实例

 $("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> 元素的宽度和高度:
实例

$("button").click(function(){ 
  $("#div1").width(500).height(500);
});

亲自试一试

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,194评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,058评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,780评论 0 346
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,388评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,430评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,764评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,907评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,679评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,122评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,459评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,605评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,270评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,867评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,734评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,961评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,297评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,472评论 2 348

推荐阅读更多精彩内容

  • 通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行“操作”(actions)。 jQuer...
    枇杷树8824阅读 651评论 0 3
  • 警告请使用 document.write() 仅仅向文档输出写内容。如果在文档已完成加载后执行 document....
    hx永恒之恋阅读 2,844评论 3 104
  • 学习资料 w3cschool 1.获取、设置元素的内容 1.1获取或设置目标元素的文本内容 语法 $(select...
    小人物的秘密花园阅读 374评论 0 1
  • jQuery 拥有可操作 HTML 元素和属性的强大方法。 一、获得值 1、text() 设置或返回所选元素的文...
    雨声不吃鱼阅读 257评论 0 1
  • //联系人:石虎QQ: 1224614774昵称:嗡嘛呢叭咪哄 Xcode7之后,苹果开发了权限,真机调试不再需要...
    石虎132阅读 9,077评论 2 24