DOM对象的一些常用属性和方法:

DOM对象的一些常用方法:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Z-one</title>
</head>
<body>
    <p id="p1" class="p">测试</p>
    <p id="p2" class="p">测试</p>
    <p id="p3" class="p">测试</p>
</body>
</html>

以上面code为例子
document 对象

document.doctype;//可以知道文档声明,如果没有return null;这里是<!DOCTYPE html>
document.doctype.name//知道文档声明的名字.
document.head//很明显选取head节点.就是<head></head>这段
document.body//选取body节点.
示例图
  • location
    我记得location一般主要是用来获取地址。
    常用方法:
document.location.href//获取当前地址
document.location.assign(http://www.baidu.com)//分配一个地址
另外如果href 是获取当前地址,如果给他赋值,把一个地址给他,也能达到assign的效果;
document.location="http://www.baidu.com"
或者
document.location.href="http://www.baidu.com"
  • innerText,innerHTML;
    这三个放一起说,主要是都挺像的,这两个个的作用都是往文档中写出内容,但是区别主要是:
  • document.body.innerText("Z-ONE") 主要是写入一个纯文本内容,此时<span>并不是标签。而是一个文本"<span>".(其实这样也显得innerText的安全性高一点)
示例图
  • document.body.innerHTML("z-one")也是写入一个纯文本内容,但是不会将HTML标签进行转义。
示例图
  • 另外innerHTML是符合W3C协议的,而innerText只适用于IE浏览器。

Element元素
Element的几个必要重要的属性 感觉常用的就是:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Z-one</title>
</head>
<body>
    <p id="p1" class="p">测试</p>
    <p id="p2" class="p">测试</p>
    <p id="p3" class="p">测试</p>
  <script>
        var a=document.getElementById("p1")//获取上面那个例子的p1元素.
          a.id// 获取该元素的id... "p1" (貌似就是通过p1找到的他- -)
          a.nodeName//获取到节点的名字(就是标签名字) 这里是"p"
          a.className//获取节点的class名字,这里因为关键字的原因,只能用className;
           另外还有一些
            child//获取子元素  这里没有
           lastchild//最后一个子元素.
           firstchild//第一个子元素.
           nextSibling//下一个兄弟元素.
           previousSibing//上一个兄弟元素.
</script>
</body>
</html>

获取元素的方法
获取元素的方法主要有三种:

  • 通过ID
  • 通过类名
  • 通过元素种类
    *(针对于input元素 通过分组名字)
  • 通过DOM2的方法
    下面这个例子很好表示了获取元素的几种方法:
    <p id="p1" class="p">测试</p>
    <p id="p2" class="p">测试</p>
    <p id="p3" class="p">测试</p>
</body>
<script>
    window.onload=function(){
        //用id获取第二个p标签的元素
        var a=document.getElementById("p2");
        a.style.color="red";
        //用标签名字来获取第一个p标签;
        var b=document.getElementsByTagName("p")[0]//获取的是一个集合,
        b.style.fontSize="30px";//这里font-size,会报错,就用fontSize;
        //用类名来获取第三个标签.
        var c=document.getElementsByClassName("p")[2]//和上面一个道理
        c.style.fontWeight="bold";
        //通过DOM2的方法获取第1个标签;
        var d=document.querySelector("#p1");
        //如果是queryselectorAll() 就是获取一个集合,操作方式和上面类似。
        //这里是通过类名,如果是ID就用#p1 标签就用p,一般是获取第一个元素.这点和Tag和Class都不一样
        d.style.color="green";
    }
示例图

然后就是Element的创建和添加元素。用一个例子表示吧:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>创建元素</title>
</head>
<script>
    window.onload=function(){
        var a=document.createElement("div");
        a.className="p1"
        a.innerHTML=("<span>测试下</span>");
        //添加到文档中
        document.body.appendChild(a);//这下子元素就写进去了
        //如果还要添加 可以照着上面来,我们现在就添加一个元素进去
        var b=document.createElement("div");
        b.innerHTML="<p>测试第二弹</p>";
        //这次我们添加在上一个元素前面
        document.body.insertBefore(b,a);//把b插在a前面- -
        //这时候不想要b了,想替换掉,可以这么做!
        var c=document.createElement("div");
        c.innerHTML="我就是来替换的";
        document.body.replaceChild(c,b);//(new,old)
    }
</script>
<body>
    
</body>
</html>

属性操作
Element的属性操作一般就下面四种:

  • getAttribute 获取一个属性。
  • setAttribute 设置一个属性。
  • removeAttribute 删除一个属性。
  • createAttribute 新建一个属性。
    举个例子吧
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>获取属性</title>
</head>
<body>
    <div id="x1" class="p1"></div>
</body>
<script>
    var a=document.getElementById("x1");
    a.getAttribute("id");//获取该阶段的属性:id
    a.setAttribute("id","Z-one");//设置一个属性。
    a.removeAttribute("id")//删除ID节点
</script>
</html>

事件处理###

DOM0级事件处理
还是用一个例子说明:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <input type="button" id="a" value="按钮">
</body>
<script>
    var a=document.getElementById("a");
    a.onclick=function(){
        console.log("测试一下");
    }
    //这样点击按钮就会在控制台输出测试一下
</script>
</html>

这一种应该算是比较常见的一种操作方式。没什么好说的。我们看下面
DOM2级事件处理程序
这里前面区别开来,就是我是你的升级版!。出了这两个方法
addEventListener();//添加
removeEventListener();//去除

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>DOM2级</title>
</head>
<body>
    <input type="button" value="按钮">
</body>
<script>
     var fun=function(){
        console.log("测试一下");
    }
    var btn=document.querySelector("input");
    btn.addEventListener("click",fun,false)
    btn.removeEventListener("click",fun,false)
        //如果是true 就是在事件捕获阶段调用,如果是false则是在事件冒泡阶段调用。
    //另外如果这里要用removeEventListener("click",function(){})//这样是没有效果的。虽然是一个函数,但是JS会认为传入了一个另外一个函数,虽然和之前一个一模一样。
</script>
</html>

IE事件调用

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

推荐阅读更多精彩内容

  • 问答 一、dom对象的innerText和innerHTML有什么区别? innerTextinnerText是一...
    婷楼沐熙阅读 398评论 0 0
  • HTML标签解释大全 一、HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(D...
    米塔塔阅读 3,224评论 1 41
  • 1.dom对象的innerText和innerHTML有什么区别? innerText是一个可写属性。将写入的内容...
    candy252324阅读 527评论 0 0
  • 今年是清迈城建城720周年,这三天的晚上在清迈的三王庙广场有庆典活动。泰国的宋干节新年是每年的4月13日到15日,...
    榛子客阅读 212评论 0 0
  • 那是明亮的日子。 你是明亮的你。 如果可以, 我会守住这样的你到尽头。 只是,我还记得起, 我们走散在哪个路口。 ...
    其田阅读 208评论 2 0