首页 > web前端 > js教程 > 正文

文档对象模型的实例代码

零下一度
发布: 2017-06-28 10:22:11
原创
1350人浏览过

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="www.w3.org/1999/xhtml">
<head>
   <title></title>
</head>
<body>
<!--form>
   <input type="button" value="按钮" />
   <input type="text" />
   <input type="checkbox" />
   <textarea rows="3" cols="2"></textarea>
   <input type="hidden" />
   <select>
       <option>a</option>
       <option>b</option>
   </select>
   <input type="password" />
   <input type="reset" />
   <input type="submit" />
   <input type="radio" />
   <input type="file" />
</form>
<iframe src="secondpage.htm">
</iframe>
<a href="#">链接</a>

<h1 id="h1">Hello World!</h1--><!--元素--><!--属性--><!--文本-->

<p id="p1">Welcome to<b> DOM </b>World!</p>

<script type="text/javascript">
   var nodeStatus = function (node) {
       var temp = "";
       if (node.nodeName != null) {
           temp += "nodeName:" + node.nodeName + "\n";
       }
       else {
           temp += "nodeName:null!\n"; //<br>,\n
       }

if (node.nodeType != null) {
           temp += "nodeType:" + node.nodeType + "\n";
       }
       else {
           temp += "nodeType:null!\n";
       }

if (node.nodeValue != null) {
           temp += "nodeValue:" + node.nodeValue + "\n";
       }
       else {
           temp += "nodeValue:null!\n";
       }

return temp;
   }

var currentElement = document.getElementById('p1');
   var msg = nodeStatus(currentElement);
   //alert(msg);
   var firstChild = currentElement.firstChild;
   msg += nodeStatus(firstChild);

//父亲的下一个儿子->弟弟
   var youngerBrother = firstChild.nextSibling;
   msg += nodeStatus(youngerBrother);

//2弟的儿子=p父亲的大孙子
   var grandSon = youngerBrother.firstChild;
   msg += nodeStatus(grandSon);

//孙子的父亲
   var grandSonParent = grandSon.parentNode;
   msg += nodeStatus(grandSonParent);

//孙子的父亲的兄长
   var grandSonParentElderBrother = grandSonParent.previousSibling
   msg += nodeStatus(grandSonParentElderBrother);

//大哥的父亲
   var parent = grandSonParentElderBrother.parentNode;
   msg += nodeStatus(parent);

//父亲的小儿子
   var lastChild = parent.lastChild;
   msg += nodeStatus(lastChild);

//父亲的所有儿子
   var allChildInfo = "";
   var allChild = parent.childNodes;
   for (var i = 0; i < allChild.length; i++) {
       allChildInfo += nodeStatus(allChild[i]);
   }

//alert(msg);
</script>
<ul id="purchases">
   <li>Beans</li>
   <li>Cheese</li>
   <li>Milk</li>
</ul>
<script type="text/javascript">
   var oPurchases = document.getElementById('purchases');
   var items = document.getElementsByTagName("li");

var info = typeof (oPurchases) + '<br>';
   for (var i = 0; i < items.length; i++) {
       info += typeof (items[i]) + "<br>";
   }

//document.write(info);
</script>
   <!--div>
       <input type="radio" name="rdGroup" value="A" />A
       <input type="radio" name="rdGroup" value="B" />B
       <input type="radio" name="rdGroup" value="C" />C
       <input type="radio" name="rdGroup" value="D" />D
   </div-->
   <script type="text/javascript">
       var rdItems = document.getElementsByName("rdGroup");
       var rdInfo = "";
       for (var i = 0; i < rdItems.length; i++) {
           rdInfo += nodeStatus(rdItems[i]) + '\n';
       }

//alert(rdInfo);


   </script>

<p title="pTitle" style="color:Blue;font-size:30px;"
   id="pSample">
   This is the first Sample!</p>
   <script type="text/javascript">
       var oSample = document.getElementById('pSample');
       var attr = "";
       //取得所有属性内容
       attr += "原标题是:"
       + oSample.getAttribute("title") + '\n';
       attr += "样式是:"
       + "color="
       + oSample.getAttribute("style").color
       + ",fontSize="
       + oSample.getAttribute("style").fontSize + '\n';

//alert(attr);

Calliper 文档对比神器
Calliper 文档对比神器

文档内容对比神器

Calliper 文档对比神器 28
查看详情 Calliper 文档对比神器

//改变属性内容,新增一个名字的属性
       oSample.setAttribute("title", "newTitle");
       oSample.setAttribute("name", "pName");

attr += "新标题是:"
       + oSample.getAttribute("title") + '\n'
       + "新名字是:" + oSample.getAttribute("name");

//alert(attr);

//删除属性
       oSample.removeAttribute("name");

attr += "\n现在的名字是:"
       + oSample.getAttribute("name");

//alert(attr);


       var createElement = function () {
           var eleInfo = "";

//段落
           var newParagraph =
           document.createElement('p');

eleInfo += nodeStatus(newParagraph) + '\n';

//文本内容(儿子)
           var newTextNode =
           document.createTextNode('我是段落里面的文字');

eleInfo += nodeStatus(newTextNode) + '\n';

newParagraph.appendChild(newTextNode);

//第一个儿子
           eleInfo += nodeStatus(newParagraph.firstChild) + '\n';

document.body.appendChild(newParagraph);

//return eleInfo;
       }

//alert(createElement());

//插入一个新元素
       var doInsertBefore = function (o) {
           var myDiv = document.getElementById('myDiv');   //获取Div元素
           var newInput = document.createElement('input'); //新建input元素
           newInput.value = new Date().toLocaleString();
           var targetElement = o;  //DOM对象
           myDiv.insertBefore(newInput, targetElement);    //在按钮前插入一个新的文本框
       }

var doRemoveChild = function (o) {
           var myDiv = o.parentNode;   //parent element   获取当前对象的父节点
           var firstChild = myDiv.firstChild;  //父节点的第一个子节点
           //alert(firstChild.value);
           myDiv.removeChild(firstChild);    //移除
       }
   </script>
   <div id="myDiv">
       <input type="button" value="insertBefore" onclick="doInsertBefore(this)"/><!--将会插入一个新的DOM元素-->

<!--删除一个元素-->
       <input type="button" value="removeChild" onclick="doRemoveChild(this)"/>
   </div>
</body>
</html>

以上就是文档对象模型的实例代码的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号