jQuery内容整理——DOM操作

class属性

.addClass(className/function(index,currentClass)):为每个匹配的元素添加指定的样式类名;
.hasClass(className)如果匹配元素上有指定的样式,那么.hasClass()方法将返回true;
.removeClass(className/function(index,class))除集合中每个匹配元素上一个,多个或全部(多个用空格隔开)样式。
.toggleClass()在匹配的元素集合中,如果存在(不存在)就删除(添加)一个类。

复制元素

.clone()复制一个匹配的元素集合的副本。复制所有匹配的元素集合,包括所有匹配元素、匹配元素的下级元素、文字节点。
注:使用.clone()可能产生id属性重复的元素的副作用,id应该是唯一的。

内部插入

HTML代码:<p>你好</p>

  1. append 向每个匹配的元素内部追加内容。
    $("p").append("<b>Hello</b>")---<p>你好<b>Hello</b></p>
  2. appendTo 与append相反
    $("<b>Hello</b>").appendTo("p")---<p>你好<b>Hello</b></p>
  3. prepend 插入到目标元素内部前端
    $("p").prepend ("<b>Hello</b>")---<p><b>Hello</b>你好</p>
  4. prependTo 与prepend 相反
    $("<b>Hello</b>").prependTo ("p")---<p><b>Hello</b>你好</p>
外部插入

HTML代码:<b>Hello</b><p>I say: </p>

  1. after() 在每个匹配的元素之后插入内容。
    $('p').after($('b'))---<p>I say: </p><b>Hello</b>
  2. before()在每个匹配的元素之前插入内容
    $('p').before($('b'))---<b>Hello</b><p>I say: </p>
  3. insertAfter() 与after相反
  4. insertBefore() 与before相反
替换
  1. replaceWith()将所有匹配的元素替换成指定的HTML或DOM元素。(如果是文档中的内容去替换别的内容,文档中的内容是移动到目标区域替换而不是复制一份去替换)例如:
<div class="container">
     <div class="first">Hello</div>
     <div class="second">And</div>
     <div class="third">Goodbye</div>
</div>
$('.third').replaceWith($('.first'));
====>
<div class="container">
     <div class="second">And</div>
     <div class="first">Hello</div>
</div>
```
2. replaceAll()用匹配的元素替换掉所有 selector匹配到的元素。

<p>Hello</p><p>cruel</p><p>World</p>
$(’<b>你好</b>').replaceAll('p');
结果:<b>你好</b><b>你好</b><b>你好</b>


#####包裹
1. wrap()匹配的元素用其他元素的结构化标记包裹起来
`$("p").wrap("<div class='wrap'></div>");`
原先div的内容作为新div的class,并将每一个元素包裹起来

<div class="container">
<div class="inner">Hello</div>
<div class="inner">Goodbye</div>
</div>

$('.inner').wrap(function() {
return '<div class="' + $(this).text() + '" />';
});

<div class="container">
<div class="Hello">
<div class="inner">Hello</div>
</div>
<div class="Goodbye">
<div class="inner">Goodbye</div>
</div>
</div>

2. unwrap() 移出元素的父元素
3. wrapAll()将所有匹配的元素用单个元素包裹起来
4. wrapInner()将每一个匹配的元素单独用一个元素包裹起来

#####删除
1. empty()删除匹配的元素集合中所有的子节点。
`$('<p>你好</p>').empty();`
`<p></p>`
2. remove() 在DOM中删除所有匹配的元素。$('p').remove('.red')
注:这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。但除了这个元素本身得以保留之外,其他的比如绑定的事件,附加的数据等都会被移除。
3. detach()  与remove()类似
注:这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。与remove()不同的是,所有绑定的事件、附加的数据等都会保留下来。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • 第1章 简介 第2章 DOM节点的创建 2-1 DOM创建节点及节点属性 通过JavaScript可以很方便的获...
    mo默22阅读 800评论 0 8
  • DOM创建节点及节点属性 通过JavaScript可以很方便的获取DOM节点,从而进行一系列的DOM操作。但实际上...
    阿r阿r阅读 1,001评论 0 9
  • title: 《锋利的jQuery》三、jQuery的DOM操作date: 2017-07-03 09:23:54...
    Gary23阅读 375评论 0 1
  • 创建 $('body').append($(" ")) //向body 中插入一个 div 插入 append:...
    学开船不会开船阅读 263评论 0 1
  • JQuery中的DOM操作 一种与浏览器,平台,语言无关的接口。使用该接口可以轻松地访问页面中所有的标准组件。DO...
    王闲森阅读 165评论 0 0