DOM(document object model)文档对象模型

php中,DOM是PHP语言与xml/html标签之间沟通的桥梁,在js中也同样,是js与xml/html之间沟通的一个桥梁。所以学习DOM就是通过js来对HTML标签内容做增、删、改、查等操作。

元素节点获取

//通过ID获取具体节点
var it = document.getElementById('username');

//通过标签访问具体节点,获取的形式为数组或集合形式
var hh = document.getElementsByTagName('h2');
//通过name标签访问具体节点,获取的形式为数组或集合形式
var it = document.getElementsByName('username');

文本节点获取

<div>today is very<span>good</span></div>

若想获取这个文本节点,需要借助元素节点先获取div,然后在获得其内部文本节点

var it3 = document.getElementsByTagName('div')[0];
//获得div内部第一个子节点对象并获得文本信息
console.log(it3.lastChild.wholeText);

属性节点获取

节点.attributes:把该节点所有属性以数组形式返回
节点.nodeTyoe:返回节点类型,1.元素节点 2.属性节点 3.文本节点 4.document节点

属性值操作
//获取属性值
节点.getAttribute(属性名称);
//设置属性值
节点.setAttrubute(属性名称,值);

兄弟节点获取

firstChild,lastChild:子节点获得第一个/最后一个节点
nextSibling:获得下一个兄弟节点
previousSibling:获得上一个兄弟节点
childNodes:获取全部子节点,主流浏览器会把空白节点算上,而老版本IE不会

父节点获取

parentNode:获取当前元素父节点


节点创建和追加

父节点.appendChild(子节点);添加节点
父节点.insertBefore(要插入的节点,插入位置的节点)
父节点.replaceChild(要替换的节点,被替换的节点)
通过js动态创建节点如下:

<ul><li mean="热情">red</li></ul>

具体js代码:

//创建ui标签
var ull = document.createElement('ul');
//创建li标签
var lii = document.createElement('li');
//创建文本
var txt = document.createTextNode('red');
//为lii设置mean属性
lii.setAttribute('mean','热情');
//给lii节点添加文本
lii.appendChild(txt);
//给ull节点添加lii节点
ull.appendChild(lii);
//给body节点添加ull
document.body.appendChild(ull);

节点复制操作

被复制节点.cloneNode(false/true):false浅复制(本身节点) true深复制(本身和内部子节点都复制)

节点删除

节点.removeChild(子节点)
子节点.parentNode.removeChild(子节点)


DOM对CSS样式操作

  1. 获取CSS样式
    节点.style.css.样式名称
  2. 设置CSS样式(有就修改,没有则添加)
    元素节点.style.css.样式名称 = 值

注意:
DOM操作CSS样式只能操作"行内样式"(CSS样式分为行内、内部、外部)

操作的属性如果带横杠,需要把横杠去掉,并把紧接着的字母大写。

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

推荐阅读更多精彩内容

  • 用来将标记型文档封装成对象,并将标记型文档中的所有的内容(标签,文本,属性等)都封装成对象。封装成对象的目...
    xinkule阅读 488评论 0 0
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,629评论 1 92
  • 之前通过深入学习DOM的相关知识,看了慕课网DOM探索之基础详解篇这个视频(在最近看第三遍的时候,准备记录一点东西...
    微醺岁月阅读 4,378评论 2 62
  • 有理数是进入中学阶段后的第一课,基础地位不容动摇,本次测试范围为,正负数,有理数分类,数轴,绝对值,相反数,题目考...
    宜人安心阅读 582评论 0 1
  • 第七章:关于诅咒 阴沉沉的天际,电闪雷鸣,豆大的雨点,伴随着狂风席卷而来,如数千万只鬼魅的手爪,恐吓般的敲打着屋顶...
    阿当芙亚阅读 378评论 1 1