最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

JavaScriptDOM进阶方法_基础知识

来源:懂视网 责编:小采 时间:2020-11-27 21:37:05
文档

JavaScriptDOM进阶方法_基础知识

JavaScriptDOM进阶方法_基础知识:DOM自身存在很多类型,在上一章中有介绍,比如Element类型:表示的是元素节点;再比如Text类型;表示的是文本节点; 一 DOM类型 类型名 说明 Node 表示所有类型值的统一接口,IE不支持; Document 表示文档类型; Element 表示元素节点类型; Text 表示文
推荐度:
导读JavaScriptDOM进阶方法_基础知识:DOM自身存在很多类型,在上一章中有介绍,比如Element类型:表示的是元素节点;再比如Text类型;表示的是文本节点; 一 DOM类型 类型名 说明 Node 表示所有类型值的统一接口,IE不支持; Document 表示文档类型; Element 表示元素节点类型; Text 表示文
DOM自身存在很多类型,在上一章中有介绍,比如Element类型:表示的是元素节点;再比如Text类型;表示的是文本节点;

一 DOM类型

类型名 说明
Node 表示所有类型值的统一接口,IE不支持;
Document 表示文档类型;
Element 表示元素节点类型;
Text 表示文本节点类型;
Comment 表示文档中的注释类型;
CDATASection 表示CDATA区域类型;
DocumentType 表示文档声明类型;
DocumentFragment 表示文档片段类型;
Attr 表示属性节点类型;

1.Node类型

DOM1级定义了一个Node接口,该接口将由DOM中的所有节点类型实现;
这个Node接口在JavaScript中是作为Node类型实现的;
除IE之外,在其他所有浏览器中都可以访问到这个类型;

2.Document类型

// Document类型表示文档,或文档的根节点,而这个节点是隐藏的,没有具体的元素标签;
document; // document;
document.nodeType; // 9;类型值;
document.childNodes[0]; // DocumentType;第一个子节点对象;
document.childNodes[1]; // HTMLHtmlElement; 对象;

// 如果想直接得到标签的元素节点对象HTMLHtmlElement,可以直接使用documentElement即可;
document.documentElement; // HTMLHtmlElement;

// 很多时候需要得到标签,之前常用的是:document.getElementsByTagName('body')[0];
document.body; // HTMLBodyElement;

// 在之前还有一个文档声明:会作为浏览器的第一个节点来处理;
document.doctype; // DocumentType;

// 在Document中有一些遗留的属性和对象集合,可以快速的帮助我们精确的处理任务;
// 属性
document.title; // 获取和设置标签的值;<br /> document.URL; // 获取URL路径;<br /> document.domain; // 获取域名;<br />     // 当页面中包含来自其他子域的框架或内嵌框架时,能够设置document.domain就非常方便了;<br />     // 由于跨域安全限制,来自不同子域的页面无法通过JavaScript通信;<br />     // 而通过将每个页面的document.domain设置为相同的值,这些页面就可以相互访问对方的JavaScript对象了;<br /> document.referrer;          // 保存着链接到当前页面的那个页面的URL;<br /> // 对象集合<br /> document.anchors; // 获取文档中带name属性的元素集合;<br /> document.links; // 获取文档中带href属性的元素集合;<br /> document.forms; // 获取文档中<form>元素集合;<br /> document.images; // 获取文档中<img>元素集合;</p> <p>3.Element类型<br /> </p> <p>// Element类型用于表现HTML中的元素节点.在上一章中,介绍了对元素节点进行查找/创建等操作;<br /> // 元素节点的nodeType为1;nodeName为元素的标签名;<br /> // 元素节点对象在非IE浏览器可以返回它具体元素节点的对象类型;<br /> 元素名 类型<br /> HTML HTMLHtmlElement;<br /> DIV HTMLDivElement;<br /> BODY HTMLBodyElement;<br /> P HTMLParamElement;</p> <p>4.Text类型 <br /> </p> <div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><pre class="brush:js;"></pre></div></div></div></div>输出; alert(box.firstChild.nodeValue); // </script></pre>输出操作后的结果;</script></pre> <p>5.Comment类型</p> <p> Comment类型表示文档中的注释,nodeType是8,nodeName是#comment,nodeValue是注释的内容;<br /> var box = document.getElementById('box');<br /> alert(box.firstChild); // Comment;</p><script type="text/javascript" src="https://jss.51dongshi.com/pcwz/wenzhong.js"></script> <p>6.Attr类型<br /> Attr类型表示文档元素中的属性;nodeType为11;nodeName为属性名,nodeValue为属性值;详细内容在上一章;</p> <p>二 DOM扩展<br /> 1.呈现模式<br /> </p> <div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><pre class="brush:js;"></pre></div></div></div></div> <p>2.滚动</p> <p> DOM提供了一些滚动页面的方法<br /> document.getElementById('box').scrollIntoView(); // 设置指定可见;</p> <p>3.children属性</p> <p> 由于子节点空白问题,IE和其他浏览器解释不一致;如果只想得到有效子节点,可以使用children属性;这个属性是非标准的;<br /> var box = docuemnt.getElementById('box');<br /> alert(box.children.length); // 得到有效子节点数目;</p> <p>4.contains()方法</p> <p> 判断一个节点是不是另一个节点的后代,可以使用contains()方法;<br /> var box = document.getElementById('box');<br /> alert(box.contains(box.firstChild)); // =>true;</p> <p>三 DOM操作内容<br /> 1.innerText属性<br /> </p> <div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><pre class="brush:js;"></pre></div></div></div></div> <p>2.innerHTML属性</p> <p> innerHTML属性可以解析HTML;<br /> document.getElementById('box').innerHTML; // 获取文本(不过滤HTML);<br /> document.getElementById('box').innerHTML = '<b>123</b>'; // 加粗的123;<br /> 虽然innerHTML可以插入HTML,但本身还是有一定的限制,也就是所谓的作用域元素,离开这个作用域就无效了;<br /> box.innerHTML = "<script>alert('Lee');</ script>"; // <script>元素不能被执行;<br /> box.innerHTML = "<style>background:red;</style>"; // <style>元素不能被执行;</p> <p>3.outerText</p> <p> outerText在取值的时候和innerText一样,同时Firefox不支持;<br /> 而且赋值方法相当危险,它不单替换文本内容,还将元素直接抹去;<br /> var box = document.getElementById('box');<br /> box.outerText = '<b>123</b>';<br /> alert(document.getElementById('box')); // =>null; 不建议使用;</p> <p>4.outerHTML<br /> </p> <div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><div class="51ds_code" style="position: relative;"><pre class="brush:js;"></pre></div></div></div></div> <p>四 小结<br /> </p> <p>DOM是语言中立的API,用于访问和操作HTML和XML文档;<br /> DOM1级将HTML和XML文档形象地看作一个层次化的节点树,可以使用JavaScript来操作这个节点树,进而改变底层文档的外观和结构;</p> <p>DOM由各种节点构成,简要总结如下:</p> <p>1.最基本的节点类型是Node,用于抽象地表示文档中一个独立的部分;所有其他类型都继承自Node;<br /> 2.Document类型表示整个文档,是一组分层节点的根节点;在JavaScript中,document对象是Document的一个实例;<br /> 使用document对象,有很多种方式可以查询和获取节点;<br /> 3.Element节点表示文档中的所有HTML或XML元素,可以用来操作这些元素的内容和属性;<br /> 4.另外还有一些节点类型,分别表示文本内容/注释/文档类型/CDATA区域和文档片段; </p><p><script type="text/javascript" src="https://jss.51dongshi.com/pcwz/dysph.js"></script><p><strong>声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com</strong></p></div> <div class="downbox clearfix"> <div class="ico"><img src="https://js.51dongshi.com/tpl/pc2/images/document.png" alt="文档"></div> <div class="txt"> <h4>JavaScriptDOM进阶方法_基础知识</h4> <div class="co">JavaScriptDOM进阶方法_基础知识:DOM自身存在很多类型,在上一章中有介绍,比如Element类型:表示的是元素节点;再比如Text类型;表示的是文本节点; 一 DOM类型 类型名 说明 Node 表示所有类型值的统一接口,IE不支持; Document 表示文档类型; Element 表示元素节点类型; Text 表示文</div> <div class="tj"><b>推荐度:</b><div class="tj_stars_list"><i class="tj_stars tj_05"></i></div></div> </div> <div class="btn"> <a href="javascript:;" class="html2word" data-model="article" data-id="avcggd" title="文档下载"> <b>点击下载本文</b> <span>文档为doc格式</span> </a> </div> </div> <script>keji_detail_ga('article_content_bottom');</script> <div class="tvideo_tag"> 标签: <a href="/tlist-87395/">方式</a> <a href="/tlist-352990/">javascript</a> <a href="/tlist-403270/">进阶</a> </div> <div class="tvideo_box tvideo_box_tab"> <div class="hd"> <ul><li class="on">热门焦点</li><script>keji_detail_ga('hot_jiaodian_tab_title');</script></ul> </div> <div class="bd"> <ul class="ult_jpic clearfix"> <script>get_hot_jiaodian_content('wz_hot_jiaodian',33,'hot',1);</script> </ul> </div> </div> </div> <!--中间文章 end--> <!--右侧专题 star--> <div class="ult_zt"> <script>keji_detail_ga('article_right_top');</script> <div class="ult_ztbox"> <h4>最新推荐</h4> <ul class="tvideo_r_a clearfix"> <script>get_detail_right('wz_right_new',33,'')</script> </ul> </div> <script>keji_detail_ga('article_right_middle');</script> <div class="ult_ztbox"> <h4>猜你喜欢</h4> <ul class="telist_rb clearfix"> <script>get_detail_right('wz_right_love',33,'')</script> </ul> </div> <script>keji_detail_ga('article_right_new_bottom');</script> <div class="ult_ztbox"> <h4>热门推荐</h4> <ul class="tvideo_r_b clearfix"> <script>get_detail_right('wz_right_hot',33,'')</script> </ul> </div> <script>keji_detail_ga('article_right_bottom');</script> </div> <!--右侧专题 end--> <div style="display:none"><a href="https://www.xyx234.com/wzztf/av/avcggd/">专题</a> </div> </div> </div> <script src="https://js.51dongshi.com/plug/qrcode/qrcode.min.js"></script> <script src="https://js.51dongshi.com/js/share.js" charset="UTF-8"></script> <script type="text/javascript" src="https://js.51dongshi.com/tpl/pc2/js/waypoints.min.js"></script> <script type="text/javascript" src="https://js.51dongshi.com/tpl/pc2/js/icon_step.js"></script> <style> #qrcode{padding: 15px;background: #fff;} </style> <div id="qrcode" style="display: none"></div> <script>new QRCode(document.getElementById("qrcode"), "https://m.xyx234.com/eedfavcggd.html");</script> <iframe src="https://hits.51dongshi.com/?biao=ho_article&id=978442" border="0" frameborder="0" style="width: 0px; height: 0px"></iframe> <script src="https://js.51dongshi.com/js/shHighlighter.js"></script> <link rel="stylesheet" href="https://jss.51dongshi.com/js/fffz/css/box.css"> <script id="fffz" data-domain="//www.xyx234.com/index" src="https://js.51dongshi.com/js/fffz/fffz.js"></script> <script type="text/javascript" src="https://jss.51dongshi.com/pcwz/tj.js"></script> <div style="display:none"><script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?4b1ebb0298b66c8a109db070c4878833"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </div> <!--foot star--> <div class="footer"> <div class="m_box"> <div class="footer_in"> <a href="#" target="_blank">产品服务</a> <a href="#" target="_blank">发展历程</a> <a href="#" target="_blank">企业资讯</a> <a href="#" target="_blank">企业文化</a> <a href="#" target="_blank">关于我们</a> <a href="#" target="_blank">加入我们</a> <a href="#" target="_blank">联系我们</a> <a href="#" target="_blank">网站导航</a> <a href="#" target="_blank">网站律师</a> </div> <ul class="ftrlist"> <li> <a rel="nofollow" href="https://www.itrust.org.cn" target="_blank"> <img src="https://js.51dongshi.com/tpl/pc2/images/footer_logo01.gif" alt="中国互联网协会"></a> </li> <li> <a rel="nofollow" href="https://www.12377.cn/" target="_blank"> <img src="https://js.51dongshi.com/tpl/pc2/images/12377logo.png" alt="中国互联网举报中心"></a> </li> <li> <a rel="nofollow" href="http://www.cyberpolice.cn/" target="_blank"> <img src="https://js.51dongshi.com/tpl/pc2/images/footer_logo05.gif" alt="网络110报警服务"></a> </li> <li> <a rel="nofollow" href="http://www.creditchina.gov.cn/" target="_blank"> <img src="https://js.51dongshi.com/tpl/pc2/images/creditchina.gif" alt="信用中国"></a> </li> <li class="last"> <a rel="nofollow" href="http://www.shdf.gov.cn/shdf/channels/740.html" target="_blank"> <img src="https://js.51dongshi.com/tpl/pc2/images/footer_logo11.png" alt="中国扫黄打非网"><p>中国扫黄打非网</p> </a> </li> </ul> <div class="footer_co"> <a href="/" class="footlogo"><img src="https://js.51dongshi.com/tpl/pc2/images/logo_bottom.png" alt="懂视"></a> <p>Copyright © 2019-2025 <a href="/" target="_blank">51dongshi.com</a> 版权所有</p> <p> <a rel="nofollow" target="_blank" href="https://beian.miit.gov.cn/">赣ICP备2023002352号-2</a> </p> <p>违法及侵权请联系:TEL:177 7030 7066 E-MAIL:11247931@qq.com 本站由北京市万商天勤律师事务所王兴未律师提供法律服务</p> </div> </div> </div> <!--foot end--> <a href="#0" class="cd-top">Top</a> <script type="text/javascript"> $(function(){ var _line=parseInt($(window).height()/3); $(window).scroll(function(){ if ($(window).scrollTop()>100) { $('.edu_top').css({'position':'fixed','top':'0','z-index':'99'}) }else{ $('.edu_top').css({'position':'relative','top':'0'}) } }) }) </script> <script type="text/javascript" src="https://jss.51dongshi.com/ga/all.js"></script> <div style="display:none"> <script type="text/javascript" src="https://s9.cnzz.com/z_stat.php?id=1278135046&web_id=1278135046"></script><script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?70ec0a2c78df5a4a3d49e475e943ceb6"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script><script> (function(){ var src = (document.location.protocol == "http:") ? "https://js.passport.qihucdn.com/11.0.1.js?d1f620a645f12a1c5b0bbce7b998d51e":"https://jspassport.ssl.qhimg.com/11.0.1.js?d1f620a645f12a1c5b0bbce7b998d51e"; document.write('<script src="' + src + '" id="sozz"><\/script>'); })(); </script></div> </body> </html>