资讯专栏INFORMATION COLUMN

【EASYDOM系列教程】之 DOM 元素树

stormzhang / 2382人阅读

摘要:元素之间的关系在元素树结构中,主要具有以下三层关系。祖先与后代如果我们将页面中某一个元素作为祖先的话,那包含在该元素内的所有元素除子级之外的都可以称为该元素的后代。兄弟关系具有相同父级元素的两个或几个元素之间就是兄弟关系。

DOM 元素树结构与 DOM 节点树结构很相似,区别仅在于是利用节点解析 HTML 元素,还是利用元素解析 HTML 元素。

DOM 树结构

还记得下面这张图吗?

上图中的 HTML 页面源代码如下:




    
    示例页面


这是一个示例页面

这是一个段落内容.

DOM 之所以可以访问和更新 HTML 页面中的内容、结构和样式,是因为 DOM 将 HTML 页面解析为一个 树结构

DOM 元素树

上述 HTML 页面示例代码,如果利用节点方式解析为 DOM 节点树结构 的话,如下所示:

如果利用元素方式解析为 DOM 元素树结构 的话,如下所示:

通过上图所示,我们发现 DOM 元素树结构与 DOM 节点树结构类似,同样在元素之间存在着某些固定的关系。

元素之间的关系

在 DOM 元素树结构中,主要具有以下三层关系。

父级与子级

如果我们将 HTML 页面中某一个元素作为父级的话,那包含在该元素内的第一层所有元素都可以称为该元素的子级。

例如,我们来看一下下面这个 DOM 元素树结构:

在上面的 DOM 节点树结构中, 元素作为父级, 元素作为子级。

祖先与后代

如果我们将 HTML 页面中某一个元素作为祖先的话,那包含在该元素内的所有元素(除子级之外的)都可以称为该元素的后代。

例如,我们来看一下下面这个 DOM 元素树结构:

在上面的 DOM 节点树结构中, 元素作为祖先,</b>、<b><h2></b> 和 <b><p></b> 元素作为后代。</p> <b>兄弟关系</b> <p>具有相同父级元素的两个或几个元素之间就是兄弟关系。例如,我们来看一下下面这个 DOM 元素树结构:</p> <p><script type="text/javascript">showImg("https://segmentfault.com/img/bVS9bA?w=1236&h=508");</script></p> <p>在上面的 DOM 元素树结构中,<b><meta></b> 和 <b><title></b> 元素就是兄弟关系。因为它们具有相同的父级元素 <b><head></b>。</p> <b>节点与元素的区别</b> <p>利用节点解析 DOM 节点树结构时,我们会发现元素节点、属性节点和文本节点是独立存在的。</p> <p>如果获取文本节点的话,文本节点是元素节点的子节点。所以,我们可以通过子节点方式得到指定的文本节点。</p> <p>如果获取属性节点的话,由于属性节点不是元素节点的子节点。所以,并不能直接通过获取子节点的方式得到指定的属性节点。</p> <p>而利用元素解析 DOM 元素树结构时,我们会发现元素、属性和文本是从属关系。什么意思呢? 我们可以简单地将属性和文本内容理解为是元素的一部分。</p> <p>这样,我们获取属性或文本内容时,就可以通过元素的获取属性或获取文本内容的方法或属性来实现。</p> <p>关于节点与元素的区别,我们可以通过以下示例代码来理解:</p> <pre>// 节点方式获取属性节点 var btn = document.getElementById("btn"); var attrNode = btn.getAttributeNode("class"); var attrValue = attrNode.nodeValue; // 元素方式获取属性 var btn = document.getElementById("btn"); var attrValue = btn.getAttribute("class");</pre> <p>本教程免费开源,任何人都可以免费学习、分享,甚至可以进行修改。但需要注明作者及来源,并且不能用于商业。</p> <p>本教程采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。</p> <p><script type="text/javascript">showImg("https://segmentfault.com/img/bVSpaA?w=922&h=302");</script></p> </div> <div class="mt-64 tags-seach" > <div class="tags-info"> <a style="width:120px;" title="云服务器" href="https://www.ucloud.cn/site/active/kuaijiesale.html?ytag=seo">云服务器</a> <a style="width:120px;" title="GPU云服务器" href="https://www.ucloud.cn/site/product/gpu.html">GPU云服务器</a> <a style="width:120px;" title="系列之" href="https://www.ucloud.cn/yun/tag/xiliezhi/">系列之</a> <a style="width:120px;" title="系列之二" href="https://www.ucloud.cn/yun/tag/xiliezhier/">系列之二</a> <a style="width:120px;" title="架构之坑系列" href="https://www.ucloud.cn/yun/tag/jiagouzhikengxilie/">架构之坑系列</a> <a style="width:120px;" title="DOM元素" href="https://www.ucloud.cn/yun/tag/DOMyuansu/">DOM元素</a> </div> </div> <div class="entry-copyright mb-30"> <p class="mb-15"> 文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。</p> <p>转载请注明本文地址:https://www.ucloud.cn/yun/87331.html</p> </div> <ul class="pre-next-page"> <li class="ellipsis"><a class="hpf" href="https://www.ucloud.cn/yun/87330.html">上一篇:【EASYDOM系列教程】之定位页面元素</a></li> <li class="ellipsis"><a class="hpf" href="https://www.ucloud.cn/yun/87332.html">下一篇:socket.io+express实现聊天室的思考(一)</a></li> </ul> </div> <div class="about_topicone-mid"> <h3 class="top-com-title mb-0"><span data-id="0">相关文章</span></h3> <ul class="com_white-left-mid atricle-list-box"> <li> <div class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="https://www.ucloud.cn/yun/83914.html"><b>【<em>EASY<em>DOM</em></em><em>系列</em><em>教程</em>】<em>之</em><em>DOM</em> <em>树</em>结构</b></a></h2> <p class="ellipsis2 good">摘要:简单来说,节点作为树结构中的连接点,最终构成了完整的树结构。节点树结构通过节点概念,我们可以将原本的树结构改成节点树结构进行表示。节点之间的关系中的表示模型,也可以用来表示节点树结构中节点之间的关系。值得注意的是和元素并不是兄弟关系。 DOM 树结构 DOM 之所以可以访问和更新 HTML 页面中的内容、结构和样式,是因为 DOM 将 HTML 页面解析为一个 树结构。 例如下面这段代...</p> <div class="com_white-left-info"> <div class="com_white-left-infol"> <a href="https://www.ucloud.cn/yun/u-1017.html"><img src="https://www.ucloud.cn/yun/data/avatar/000/00/10/small_000001017.jpg" alt=""><span class="layui-hide64">nemo</span></a> <time datetime="">2019-08-20 17:50</time> <span><i class="fa fa-commenting"></i>评论0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> <li> <div class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="https://www.ucloud.cn/yun/87287.html"><b>【<em>EASY<em>DOM</em></em><em>系列</em><em>教程</em>】<em>之</em> Element 对象</b></a></h2> <p class="ellipsis2 good">摘要:而标准规范中提供了对象,主要是依靠元素树结构访问和更新页面的内容。值得注意的是所有的页面的元素都是对象,而这个对象又是继承于对象的。我们可以简单地理解对象是对象的补充。本教程采用知识共享署名非商业性使用禁止演绎国际许可协议进行许可。 DOM 的标准规范中提供了 Element 对象,该对象提供了 HTML 页面中所有元素所具有的属性和方法。 我们都知道 DOM 标准规范中提供了 Nod...</p> <div class="com_white-left-info"> <div class="com_white-left-infol"> <a href="https://www.ucloud.cn/yun/u-1316.html"><img src="https://www.ucloud.cn/yun/data/avatar/000/00/13/small_000001316.jpg" alt=""><span class="layui-hide64">jeyhan</span></a> <time datetime="">2019-08-21 11:55</time> <span><i class="fa fa-commenting"></i>评论0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> <li> <div class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="https://www.ucloud.cn/yun/87186.html"><b>【<em>EASY<em>DOM</em></em><em>系列</em><em>教程</em>】索引</b></a></h2> <p class="ellipsis2 good">摘要:系列教程是一套免费开源,任何人都可以免费学习分享,甚至可以进行修改。本文是这套系列教程的索引也就是目录第一回介绍在最开始,我们先来了解是什么的作用,以及浏览器的支持是怎么样的。 《EASYDOM》系列教程是一套免费、开源,任何人都可以免费学习、分享,甚至可以进行修改。但需要注明作者及来源,并且不能用于商业。 本文是这套系列教程的索引(也就是目录): 第一回 DOM 介绍 在最开始,我...</p> <div class="com_white-left-info"> <div class="com_white-left-infol"> <a href="https://www.ucloud.cn/yun/u-306.html"><img src="https://www.ucloud.cn/yun/data/avatar/000/00/03/small_000000306.jpg" alt=""><span class="layui-hide64">yanwei</span></a> <time datetime="">2019-08-21 11:51</time> <span><i class="fa fa-commenting"></i>评论0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> <li> <div class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="https://www.ucloud.cn/yun/84309.html"><b>【<em>EASY<em>DOM</em></em><em>系列</em><em>教程</em>】<em>之</em>遍历节点</b></a></h2> <p class="ellipsis2 good">摘要:对象提供了一系列的属性和方法用来利用节点树结构中节点的关系实现遍历其中的节点。在上述语法结构中,属性返回指定节点的父元素节点。该属性获取一个包含指定节点的所有子节点的集合。值得注意的是及之前版本的浏览器中不存在空白节点问题。 Node 对象提供了一系列的属性和方法用来利用 DOM 节点树结构中节点的关系实现遍历其中的节点。 关于节点之间的关系,可以参考《DOM树结构》一节有关节点之间关...</p> <div class="com_white-left-info"> <div class="com_white-left-infol"> <a href="https://www.ucloud.cn/yun/u-1189.html"><img src="https://www.ucloud.cn/yun/data/avatar/000/00/11/small_000001189.jpg" alt=""><span class="layui-hide64">BigNerdCoding</span></a> <time datetime="">2019-08-20 18:18</time> <span><i class="fa fa-commenting"></i>评论0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> <li> <div class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="https://www.ucloud.cn/yun/84266.html"><b>【<em>EASY<em>DOM</em></em><em>系列</em><em>教程</em>】<em>之</em>Node介绍</b></a></h2> <p class="ellipsis2 good">摘要:对象的作用树结构主要是依靠节点进行解析,称为节点树结构。对象的继承链关系对象是继承于对象的,是一个用于接收事件的对象。但需要注明作者及来源,并且不能用于商业。本教程采用知识共享署名非商业性使用禁止演绎国际许可协议进行许可。 DOM 的标准规范中提供了 Node 对象,该对象主要提供了用于解析 DOM 节点树结构的属性和方法。 Node 对象的作用 DOM 树结构主要是依靠节点进行解析,...</p> <div class="com_white-left-info"> <div class="com_white-left-infol"> <a href="https://www.ucloud.cn/yun/u-305.html"><img src="https://www.ucloud.cn/yun/data/avatar/000/00/03/small_000000305.jpg" alt=""><span class="layui-hide64">oliverhuang</span></a> <time datetime="">2019-08-20 18:16</time> <span><i class="fa fa-commenting"></i>评论0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> </ul> </div> <div class="topicone-box-wangeditor"> <h3 class="top-com-title mb-64"><span>发表评论</span></h3> <div class="xcp-publish-main flex_box_zd"> <div class="unlogin-pinglun-box"> <a href="javascript:login()" class="grad">登陆后可评论</a> </div> </div> </div> <div class="site-box-content"> <div class="site-content-title"> <h3 class="top-com-title mb-64"><span>0条评论</span></h3> </div> <div class="pages"></ul></div> </div> </div> <div class="layui-col-md4 layui-col-lg3 com_white-right site-wrap-right"> <div class=""> <div class="com_layuiright-box user-msgbox"> <a href="https://www.ucloud.cn/yun/u-1281.html"><img src="https://www.ucloud.cn/yun/data/avatar/000/00/12/small_000001281.jpg" alt=""></a> <h3><a href="https://www.ucloud.cn/yun/u-1281.html" rel="nofollow">stormzhang</a></h3> <h6>男<span>|</span>高级讲师</h6> <div class="flex_box_zd user-msgbox-atten"> <a href="javascript:attentto_user(1281)" id="attenttouser_1281" class="grad follow-btn notfollow attention">我要关注</a> <a href="javascript:login()" title="发私信" >我要私信</a> </div> <div class="user-msgbox-list flex_box_zd"> <h3 class="hpf">TA的文章</h3> <a href="https://www.ucloud.cn/yun/ut-1281.html" class="box_hxjz">阅读更多</a> </div> <ul class="user-msgbox-ul"> <li><h3 class="ellipsis"><a href="https://www.ucloud.cn/yun/130667.html">activate</a></h3> <p>阅读 3139<span>·</span>2023-04-25 17:19</p></li> <li><h3 class="ellipsis"><a href="https://www.ucloud.cn/yun/124398.html">Linux快速学习-vi编辑器常用命令</a></h3> <p>阅读 588<span>·</span>2021-11-23 09:51</p></li> <li><h3 class="ellipsis"><a href="https://www.ucloud.cn/yun/122912.html">Pia云双11活动:新用户全场5折,可选美国三网CN2 GIA月付10元起,香港纯CN2永不混线月付</a></h3> <p>阅读 1321<span>·</span>2021-11-08 13:19</p></li> <li><h3 class="ellipsis"><a href="https://www.ucloud.cn/yun/121482.html">ASEMI肖特基二极管MBR20200FCT参数详解</a></h3> <p>阅读 756<span>·</span>2021-09-29 09:34</p></li> <li><h3 class="ellipsis"><a href="https://www.ucloud.cn/yun/121413.html">【⛳重走长征路のC语言中static关键字⛳】</a></h3> <p>阅读 1656<span>·</span>2021-09-28 09:36</p></li> <li><h3 class="ellipsis"><a href="https://www.ucloud.cn/yun/120264.html">godaddy主机ftp端口多少-godaddy主机怎么样?</a></h3> <p>阅读 1453<span>·</span>2021-09-22 14:59</p></li> <li><h3 class="ellipsis"><a href="https://www.ucloud.cn/yun/113876.html">css3 弹性布局和多列布局</a></h3> <p>阅读 2672<span>·</span>2019-08-29 16:38</p></li> <li><h3 class="ellipsis"><a href="https://www.ucloud.cn/yun/109285.html">es6之迭代器</a></h3> <p>阅读 2016<span>·</span>2019-08-26 13:40</p></li> </ul> </div> <!-- 文章详情右侧广告--> <div class="com_layuiright-box"> <h6 class="top-com-title"><span>最新活动</span></h6> <div class="com_adbox"> <div class="layui-carousel" id="right-item"> <div carousel-item> <div> <a href="https://www.ucloud.cn/site/active/kuaijiesale.html?ytag=seo" rel="nofollow"> <img src="https://www.ucloud.cn/yun/data/attach/240625/2rTjEHmi.png" alt="云服务器"> </a> </div> <div> <a href="https://www.ucloud.cn/site/product/gpu.html" rel="nofollow"> <img src="https://www.ucloud.cn/yun/data/attach/240807/7NjZjdrd.png" alt="GPU云服务器"> </a> </div> </div> </div> </div> <!-- banner结束 --> <div class="adhtml"> </div> <script> $(function(){ $.ajax({ type: "GET", url:"https://www.ucloud.cn/yun/ad/getad/1.html", cache: false, success: function(text){ $(".adhtml").html(text); } }); }) </script> </div> </div> </div> </div> </div> </section> <!-- wap拉出按钮 --> <div class="site-tree-mobile layui-hide"> <i class="layui-icon layui-icon-spread-left"></i> </div> <!-- wap遮罩层 --> <div class="site-mobile-shade"></div> <!--付费阅读 --> <div id="payread"> <div class="layui-form-item">阅读需要支付1元查看</div> <div class="layui-form-item"><button class="btn-right">支付并查看</button></div> </div> <script> var prei=0; $(".site-seo-depict pre").each(function(){ var html=$(this).html().replace("<code>","").replace("</code>","").replace('<code class="javascript hljs" codemark="1">',''); $(this).attr('data-clipboard-text',html).attr("id","pre"+prei); $(this).html("").append("<code>"+html+"</code>"); prei++; }) $(".site-seo-depict img").each(function(){ if($(this).attr("src").indexOf('data:image/svg+xml')!= -1){ $(this).remove(); } }) $("LINK[href*='style-49037e4d27.css']").remove(); $("LINK[href*='markdown_views-d7a94ec6ab.css']").remove(); layui.use(['jquery', 'layer','code'], function(){ $("pre").attr("class","layui-code"); $("pre").attr("lay-title",""); $("pre").attr("lay-skin",""); layui.code(); $(".layui-code-h3 a").attr("class","copycode").html("复制代码 ").attr("onclick","copycode(this)"); }); function copycode(target){ var id=$(target).parent().parent().attr("id"); var clipboard = new ClipboardJS("#"+id); clipboard.on('success', function(e) { e.clearSelection(); alert("复制成功") }); clipboard.on('error', function(e) { alert("复制失败") }); } //$(".site-seo-depict").html($(".site-seo-depict").html().slice(0, -5)); </script> <link rel="stylesheet" type="text/css" href="https://www.ucloud.cn/yun/static/js/neweditor/code/styles/tomorrow-night-eighties.css"> <script src="https://www.ucloud.cn/yun/static/js/neweditor/code/highlight.pack.js" type="text/javascript"></script> <script src="https://www.ucloud.cn/yun/static/js/clipboard.js"></script> <script>hljs.initHighlightingOnLoad();</script> <script> function setcode(){ var _html=''; document.querySelectorAll('pre code').forEach((block) => { var _tmptext=$.trim($(block).text()); if(_tmptext!=''){ _html=_html+_tmptext; console.log(_html); } }); } </script> <script> function payread(){ layer.open({ type: 1, title:"付费阅读", shadeClose: true, content: $('#payread') }); } // 举报 function jupao_tip(){ layer.open({ type: 1, title:false, shadeClose: true, content: $('#jubao') }); } $(".getcommentlist").click(function(){ var _id=$(this).attr("dataid"); var _tid=$(this).attr("datatid"); $("#articlecommentlist"+_id).toggleClass("hide"); var flag=$("#articlecommentlist"+_id).attr("dataflag"); if(flag==1){ flag=0; }else{ flag=1; //加载评论 loadarticlecommentlist(_id,_tid); } $("#articlecommentlist"+_id).attr("dataflag",flag); }) $(".add-comment-btn").click(function(){ var _id=$(this).attr("dataid"); $(".formcomment"+_id).toggleClass("hide"); }) $(".btn-sendartcomment").click(function(){ var _aid=$(this).attr("dataid"); var _tid=$(this).attr("datatid"); var _content=$.trim($(".commenttext"+_aid).val()); if(_content==''){ alert("评论内容不能为空"); return false; } var touid=$("#btnsendcomment"+_aid).attr("touid"); if(touid==null){ touid=0; } addarticlecomment(_tid,_aid,_content,touid); }) $(".button_agree").click(function(){ var supportobj = $(this); var tid = $(this).attr("id"); $.ajax({ type: "GET", url:"https://www.ucloud.cn/yun/index.php?topic/ajaxhassupport/" + tid, cache: false, success: function(hassupport){ if (hassupport != '1'){ $.ajax({ type: "GET", cache:false, url: "https://www.ucloud.cn/yun/index.php?topic/ajaxaddsupport/" + tid, success: function(comments) { supportobj.find("span").html(comments+"人赞"); } }); }else{ alert("您已经赞过"); } } }); }); function attenquestion(_tid,_rs){ $.ajax({ //提交数据的类型 POST GET type:"POST", //提交的网址 url:"https://www.ucloud.cn/yun/favorite/topicadd.html", //提交的数据 data:{tid:_tid,rs:_rs}, //返回数据的格式 datatype: "json",//"xml", "html", "script", "json", "jsonp", "text". //在请求之前调用的函数 beforeSend:function(){}, //成功返回之后调用的函数 success:function(data){ var data=eval("("+data+")"); console.log(data) if(data.code==2000){ layer.msg(data.msg,function(){ if(data.rs==1){ //取消收藏 $(".layui-layer-tips").attr("data-tips","收藏文章"); $(".layui-layer-tips").html('<i class="fa fa-heart-o"></i>'); } if(data.rs==0){ //收藏成功 $(".layui-layer-tips").attr("data-tips","已收藏文章"); $(".layui-layer-tips").html('<i class="fa fa-heart"></i>') } }) }else{ layer.msg(data.msg) } } , //调用执行后调用的函数 complete: function(XMLHttpRequest, textStatus){ postadopt=true; }, //调用出错执行的函数 error: function(){ //请求出错处理 postadopt=false; } }); } </script> <footer> <div class="layui-container"> <div class="flex_box_zd"> <div class="left-footer"> <h6><a href="https://www.ucloud.cn/"><img src="https://www.ucloud.cn/yun/static/theme/ukd//images/logo.png" alt="UCloud (优刻得科技股份有限公司)"></a></h6> <p>UCloud (优刻得科技股份有限公司)是中立、安全的云计算服务平台,坚持中立,不涉足客户业务领域。公司自主研发IaaS、PaaS、大数据流通平台、AI服务平台等一系列云计算产品,并深入了解互联网、传统企业在不同场景下的业务需求,提供公有云、混合云、私有云、专有云在内的综合性行业解决方案。</p> </div> <div class="right-footer layui-hidemd"> <ul class="flex_box_zd"> <li> <h6>UCloud与云服务</h6> <p><a href="https://www.ucloud.cn/site/about/intro/">公司介绍</a></p> <p><a href="https://zhaopin.ucloud.cn/" >加入我们</a></p> <p><a href="https://www.ucloud.cn/site/ucan/onlineclass/">UCan线上公开课</a></p> <p><a href="https://www.ucloud.cn/site/solutions.html" >行业解决方案</a></p> <p><a href="https://www.ucloud.cn/site/pro-notice/">产品动态</a></p> </li> <li> <h6>友情链接</h6> <p><a href="https://www.compshare.cn/?ytag=seo">GPU算力平台</a></p> <p><a href="https://www.ucloudstack.com/?ytag=seo">UCloud私有云</a></p> <p><a href="https://www.surfercloud.com/">SurferCloud</a></p> <p><a href="https://www.uwin-link.com/">工厂仿真软件</a></p> <p><a href="https://pinex.it/">Pinex</a></p> <p><a href="https://www.picpik.ai/zh">AI绘画</a></p> </li> <li> <h6>社区栏目</h6> <p><a href="https://www.ucloud.cn/yun/column/index.html">专栏文章</a></p> <p><a href="https://www.ucloud.cn/yun/udata/">专题地图</a></p> </li> <li> <h6>常见问题</h6> <p><a href="https://www.ucloud.cn/site/ucsafe/notice.html" >安全中心</a></p> <p><a href="https://www.ucloud.cn/site/about/news/recent/" >新闻动态</a></p> <p><a href="https://www.ucloud.cn/site/about/news/report/">媒体动态</a></p> <p><a href="https://www.ucloud.cn/site/cases.html">客户案例</a></p> <p><a href="https://www.ucloud.cn/site/notice/">公告</a></p> </li> <li> <span><img src="https://static.ucloud.cn/7a4b6983f4b94bcb97380adc5d073865.png" alt="优刻得"></span> <p>扫扫了解更多</p></div> </div> <div class="copyright">Copyright © 2012-2023 UCloud 优刻得科技股份有限公司<i>|</i><a rel="nofollow" href="http://beian.miit.gov.cn/">沪公网安备 31011002000058号</a><i>|</i><a rel="nofollow" href="http://beian.miit.gov.cn/"></a> 沪ICP备12020087号-3</a><i>|</i> <script type="text/javascript" src="https://gyfk12.kuaishang.cn/bs/ks.j?cI=197688&fI=125915" charset="utf-8"></script> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?290c2650b305fc9fff0dbdcafe48b59d"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-DZSMXQ3P9N"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-DZSMXQ3P9N'); </script> <script> (function(){ var el = document.createElement("script"); el.src = "https://lf1-cdn-tos.bytegoofy.com/goofy/ttzz/push.js?99f50ea166557aed914eb4a66a7a70a4709cbb98a54ecb576877d99556fb4bfc3d72cd14f8a76432df3935ab77ec54f830517b3cb210f7fd334f50ccb772134a"; el.id = "ttzz"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(el, s); })(window) </script></div> </div> </footer> </body> <script src="https://www.ucloud.cn/yun/static/theme/ukd/js/common.js"></script> <<script type="text/javascript"> $(".site-seo-depict *,.site-content-answer-body *,.site-body-depict *").css("max-width","100%"); </script> </html>