JavaScript DOM

DOM

DOM(Document Object Model)文档对象模型
当网页被加载时,浏览器会创建页面的文档对象模型。

HTML DOM 树
这里写图片描述

通过对象模型,JavaScript获得了足够的能力来创建动态的HTML
- JavaScript能够改变页面中的所有HTML元素
- JavaScript能够改变页面中的所有HTML属性
- JavaScript能够改变页面中的所有CSS样式
- JavaScript能够对页面中的所有事件做出反应

  • 查找HTML元素

为了做到这件事情,您必须首先找到该元素。有三种方法来做这件事:

  • 通过id找到HTML元素
  • 通过标签名找到HTML元素
  • 通过类名找到HTML元素

  • 通过id查找HTML`元素

    <!DOCTYPE html>
    <html>
    <body>
    
    <p id="intro">Hello World!</p>
    
    <script>
    x=document.getElementById("intro");
    document.write('<p>id="intro" 的段落中的文本是:' + x.innerHTML + '</p>');
    </script>
    
    </body>
    </html>
  • 通过标签名查找HTML元素

    <div id="main">
    <p>The DOM is very useful.</p>
    </div>
    
    <script>
    var x=document.getElementById("main");
    var y=x.getElementsByTagName("p");
    document.write('id 为 "main" 的 div 中的第一段文本是:' + y[0].innerHTML);
    </script>
    
    </body>
    </html>
  • 向HTML输出内容
    document.write()

<!DOCTYPE html>
<html>
<body>

<script>
document.write(Date());
</script>

</body>
</html>
  • 修改HTML内容
    修改HTML内容的最简单的方法时使用innerHTML属性。
<!DOCTYPE html>
<html>
<body>

<h1 id="header">Old Header</h1>

<script>
var element=document.getElementById("header");
element.innerHTML="New Header";
</script>

</body>
</html>
  • 改变HTML属性
    使用属性名来获取HTML元素的属性
    例如改变<img>元素的src属性:
<!DOCTYPE html>
<html>
<body>

<img id="image" src="smiley.gif">

<script>
document.getElementById("image").src="landscape.jpg";
</script>

</body>
</html>
  • 改变HTML样式
    通过.style.属性名来获取元素样式,例如下面的改变文字颜色值:
<p id="p2">Hello World!</p>

<script>
document.getElementById("p2").style.color="blue";
</script>
  • 响应事件
    通过对当前元素设置onclick属性.例如下面这个请点击该文本的文字,当我们点击时,文字就会变成谢谢。
<!DOCTYPE html>
<html>
<body>

<h1 onclick="this.innerHTML='谢谢!'">请点击该文本</h1>

</body>
</html>

<!DOCTYPE html>
<html>
<head>
<script>
function changetext(id)
{
id.innerHTML="谢谢!";
}
</script>
</head>
<body>
<h1 onclick="changetext(this)">请点击该文本</h1>
</body>
</html>
  • Button
<button onclick="displayDate()">点击这里</button>

或者

<!DOCTYPE html>
<html>
<head>
</head>
<body>

<p>点击按钮就可以执行 <em>displayDate()</em> 函数。</p>

<button id="myBtn">点击这里</button>

<script>
document.getElementById("myBtn").onclick=function(){displayDate()};
function displayDate()
{
document.getElementById("demo").innerHTML=Date();
}
</script>

<p id="demo"></p>

</body>
</html> 
  • 创建和删除节点
<!DOCTYPE html>
<html>
<body>

<div id="div1">
<p id="p1">这是一个段落。</p>
<p id="p2">这是另一个段落。</p>
</div>

<script>
var para=document.createElement("p");
var node=document.createTextNode("这是新段落。");
para.appendChild(node);

var element=document.getElementById("div1");
element.appendChild(para);
</script>

</body>
</html>
  • 删除节点
<!DOCTYPE html>
<html>
<body>

<div id="div1">
<p id="p1">这是一个段落。</p>
<p id="p2">这是另一个段落。</p>
</div>

<script>
var parent=document.getElementById("div1");
var child=document.getElementById("p1");
parent.removeChild(child);
</script>

</body>
</html>

  • 邮箱 :yjciscrgo@gmail.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值