<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<meta charset="utf-8" />
</head>
<body>
<ul>
<li id="html">html</li>
<li id="css">css</li><li id="js">js</li>
</ul>
<script type="text/javascript">
//访问指定元素
var html = document.getElementById("html"); //通过ID获取对象
html.style.fontWeight = "bold";//改变元素的样式
var arr = document.getElementsByTagName("li"); //通过标签获取对象的集合
alert(arr.length); //共有3个
</script> <script type="text/javascript">
//访问相关的元素
var elm = document.lastChild; //获取文档的最后一个子节点(html)标记
document.write(elm.nodeName + "<br/>"); var body = elm.lastChild; //获取(html)的(最后一个子节点)body标记
document.write(body.nodeName + "<br/>"); //最后一个子节点 var head = elm.firstChild;//获取(html)的(第一个子节点)head标记
document.write(head.nodeName + "<br/>"); //第一个子节点 var ul = body.childNodes[1]; //获取(body)的子节点数组 ul标记
document.write(ul.nodeName+"<br/>");//数组第1个元素的名字 var li1 = ul.childNodes[1]; //获取ul下的子节点数组第一个 li标记
document.write(li1.nodeName + "<br/>");//数组第1个元素的名字 var text1 = li1.nextSibling; //获取li1后一个兄弟节点
document.write(text1.nextSibling.nodeName + "<br/>");//数组第个元素的名字 li //li与li之间必须紧挨着 否则未定义
//默认把换行当成元素; 两次获取兄弟元素
</script> <div id="div1"></div>
<script type="text/javascript">
//追加元素
var div1 = document.getElementById("div1");//当前节点
var newH1 = document.createElement("h1");//创建元素节点(h1标签)
var newText = document.createTextNode("abcdefghijk");//创建文本节点
newH1.appendChild(newText);//将文本节点添加到 (h1中)
div1.appendChild(newH1); //将新建元素节点添加到<div>中 (作为最后一个节点)
</script> <div id="div2">
<p id="p1">段落1</p>
<p id="p2">段落2</p>
</div>
<script type="text/javascript">
//插入元素
var newPara = document.createElement("p");//创建元素节点
var newText = document.createTextNode("新段落");
newPara.appendChild(newText);//将文本节点添加到 p中
var myDiv = document.getElementById("div2"); //获取父节点
var para2 = document.getElementById("p2"); //指定插入位置的节点
myDiv.insertBefore(newPara, para2);//插入指定节点值前 (p2前)
</script> <div id="div3">
<p id="p11">段落11</p>
<p id="p12">段落12</p>
</div>
<script type="text/javascript">
//替换元素
var newH1 = document.createElement("h1"); //创建节点h1
var newText = document.createTextNode("标题1");//创建文本节点
newH1.appendChild(newText);//将文本节点添加到h1节点中
var myDiv = document.getElementById("div3");//获取父节点
var para1 = document.getElementById("p11"); //获取替换的节点
myDiv.replaceChild(newH1,para1); //把段落p11替换为标题1
</script> <div id="div4">
<p id="p21">段落21</p>
<p id="p22">段落22</p>
</div>
<script type="text/javascript">
//删除子节点
var myDiv = document.getElementById("div4");//获取父节点
var para1 = document.getElementById("p21");//指定要删除的节点
myDiv.removeChild(para1);//删除指定的子节点
</script> <div id="div5"></div>
<script type="text/javascript">
//元素的属性与内容操作
var myDiv = document.getElementById("div5");//获取元素对象
myDiv.innerHTML = "<h1>asdfghjk<h1>";//设置元素里面的html内容
myDiv.setAttribute("style","width:380px;height:80px;border:1px solid #000;"); //为元素设置新的属性
</script> <div id="div6"></div>
<div id="div7"></div>
<script type="text/javascript">
//style属性
var myDiv = document.getElementById("div6");
myDiv.style.width = "200px";
myDiv.style.height = "50px";
myDiv.style.border = "1px solid #000";//设置div6的样式
var myDiv1 = document.getElementById("div7");
myDiv1.style = "width:200px;height:50px;border:1px solid #000;background-color:#000"; //设置div7的样式
//javascript不允许在属性或方法名称里使用连字符;例如background-Color; 因此需要调整书写格式backgroundColor;连字符后面用大写
</script> <div id="div8"></div>
<script type="text/javascript">
//className属性
var myDiv = document.getElementById("div8");//获取div8对象
myDiv.className = "a"; //更改样式<div id="div8" class ="a"></div>
myDiv.className = "b"; //更改样式<div id="div8" class ="b"></div>
</script>
</body>
</html>
<script>
(function () { document.getElementsByTagName("body")[].style.cssText = "overflow:hidden"; }) ();
</script>

js DOM 节点树 设置 style 样式属性的更多相关文章

  1. 013——VUE中多种方式使用VUE控制style样式属性

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. Vue 设置style样式

    1.直接添加行内样式 2.通过绑定设置style样式 3.将vue的属性设置为样式 4将多个vue属性设置为样式 <div id="box"> <!--直接添加样 ...

  3. childNodes遍历DOM节点树

    childNodes遍历DOM节点树 var s = ""; function travel(space,node) { if(node.tagName){ s += space ...

  4. DOM节点树和元素树--深度遍历

    我们在阅读JS高级程序设计的时候,提到了节点树的概念.比如说: elem.parentNode---找elem的父节点: elem.childNodes---找elem的所有的直接子节点: elem. ...

  5. CSS如何设置列表样式属性

    列表样式属性 在HTML中有2种列表.无序列表和有序列表,在工作中无序列表比较常用,无序列表就是ul标签和li标签组合成的称之为无序列表,那什么是有序列表呢?就是ol标签和li标签组合成的称之为有序列 ...

  6. CSS如何设置列表样式属性,看这篇文章就够用了

    列表样式属性 在HTML中有2种列表.无序列表和有序列表,在工作中无序列表比较常用,无序列表就是ul标签和li标签组合成的称之为无序列表,那什么是有序列表呢?就是ol标签和li标签组合成的称之为有序列 ...

  7. JS Dom节点操作demo!

    通过黑马课程的学习,在这里分享一个js Dom中节点操作的小练习 需求:使用js创建一个4*3的表格table. onload = function(){ function c(tagName){ r ...

  8. JS DOM节点增删改查 属性设置

    一.节点操作 增 createElement(name)创建元素 appendChild();将元素添加   删 获得要删除的元素 获得它的父元素 使用removeChild()方法删除 改 第一种方 ...

  9. js | javascript获取和设置元素的属性

    获取和设置元素的内容: var nv = document.getElementById("pid"); alert(nv.innerHTML); nv.innerHTML=&qu ...

随机推荐

  1. HDU 1836 畅通工程

    畅通工程 Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU. Original ID: 18636 ...

  2. servlet 中getLastModified()

    在http协议中,浏览器对访问过的页面缓存后,它将会在以后访问该页面时,将会根据LastModified头字段指定的时间值生成If-Modified-Since头字段,作为缓存页面的最新更新时间.如果 ...

  3. firedac数据集和字符串相互转换

    uses Data.FireDACJSONReflect 1)FIREDAC数据库序列为字符串,进行了加压和BASE64编码 function DataSetToString(const ADataS ...

  4. HDU 2348

    DFS+博弈. 假设存在两数(x,y),且x<y.对于(x+ky,y)k>=2,只能转移向两种状态(x+y,y),或者(x,y).而对于(x+y,y)只能向(x,y)转移,那么,可知,无论 ...

  5. [React Testing] Confidently Ship Production React Apps

    We want to make sure that when we ship new code, our users can use the application. The best way we' ...

  6. A*(也叫A star, A星)寻路算法Java版

    寻路算法有非常多种,A*寻路算法被公觉得最好的寻路算法. 首先要理解什么是A*寻路算法,能够參考这三篇文章: http://www.gamedev.net/page/resources/_/techn ...

  7. [ACM] POJ 1942 Paths on a Grid (组合)

    Paths on a Grid Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 21297   Accepted: 5212 ...

  8. 阻尼滑动--能够滑动过度的ScrollView(OverScrollView)

    贴上一个我自己用过的阻尼滑动的ScrollView,像QQ里面那种滑动效果,尽管不是我写的,可是我认为还能够,贴出来做个记录,实用到的时候免得到处去找. 代码例如以下: /* * Copyright ...

  9. Ant报错之out of memory

    用Ant打包一个比較大的项目的时候,遇到OutOfMemory的问题,求助于Google和百度,网上的解决方式非常多,可是个人认为不够具体全面.我的问题须要综合两种方法才解决.把方案记下来.以期帮助大 ...

  10. B1816 扑克牌 二分答案 + 贪心

    这个题我一开始想到了二分答案,但是去写了另一个算法,用优先队列直接模拟,最后GG了...因为我没考虑每个套牌只能有一个joker...尴尬. 后来二分答案,然后暴力验证就行了. 题干: Descrip ...