《jQuery与JavaScript入门经典》——2.2 调试HTML元素

简介: 启用该选项后,树视图将切换到文本编辑器视图,让您能够直接在浏览器中编辑HTML代码。浏览器将根据您所做的修改调整渲染结果。虽然这不会修改项目中的代码,但使用这项功能尝试不同的修改要容易得多。将问题修复后,您可复制编辑器中的代码,再将其粘贴到项目文件中。

本节书摘来自异步社区《jQuery与JavaScript入门经典》一书中的第2章,第2.2节,作者:【美】Brad Dayley著,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.2 调试HTML元素

调试HTML元素有时候很困难。浏览器渲染HTML文档时,简单的语法错误都可能导致严重的问题。另外,HTML元素的有些属性不影响网页的外观,但会影响网页的行为。

HTML检查器(Inspector)和DOM编辑器可帮助您找出并修复HTML代码中的问题。下面通过一些简单的示例演示如何使用这些工具。

2.2.1 查看HTML元素
HTML检查器让您能够查看浏览器分析的每个HTML元素,这让您能够从浏览器的角度审视HTML,让语法错误更为明显。

图2.5显示了Firebug的HTML检查器。HTML检查器提供了一些很有用的功能。

  • DOM树:这是一个非常简单的DOM树视图。您可单击+图标来展开DOM树的各个部分,还可单击-图标将DOM树的各个部分折叠起来。

screenshot

  • 在 DOM 改变时中断:如果启用了该选项,浏览器将在 DOM 元素被修改时中断JavaScript调试器。这有助于您实时地捕获发生的问题。
  • 编辑:启用该选项后,树视图将切换到文本编辑器视图,让您能够直接在浏览器中编辑HTML代码。浏览器将根据您所做的修改调整渲染结果。虽然这不会修改项目中的代码,但使用这项功能尝试不同的修改要容易得多。将问题修复后,您可复制编辑器中的代码,再将其粘贴到项目文件中。
  • 鼠标指向时呈高亮显示:将鼠标指向DOM树中的HTML代码时,浏览器中的相应元素将呈高亮显示。这是我最喜欢的HTML检查器功能之一,因为它提供了很好的视觉线索,让我知道DOM树节点与渲染的网页元素之间的关系。在图2.5中,我将鼠标指向了< h1 >元素,而网页中的标题呈高亮显示。

注意:将鼠标指向DOM树中的元素时,该元素将在网页中呈高亮显示:HTML元素的内容为淡蓝色、内边距为紫色、外边距为黄色。

  • 面包条:面包条显示了节点层次结构—从根节点< html >到当前选择的节点。这让您能够轻松地导航,尤其是处于编辑视图时。

使用HTML检查器调试HTML

下面使用程序清单 2.2 所示的代码来演示如何使用 HTML 检查器。这是一个基本的HTML文档,包含一个电影列表和一个标题,并要以斜体方式显示标题中的Favorite。然而,从图2.6所示的渲染结果可知显然存在一些问题:所有内容都为斜体,而第一个列表项没有项目符号。这些问题都是由两个字符导致的。

程序清单2.2 一个非常简单的HTML文档,其中存在一些HTML语法错误,如图2.6所示

screenshot

请使用HTML检查器按如下步骤找出并修复HTML语法错误。

  1. 在项目的文件夹hour02中,新建文件hour0202.html,在其中输入程序清单2.2所示的代码,再保存这个文档。现在您应该能够熟练地完成这个过程。
  2. 启动Firefox,并单击Firebug图标以启用Firebug。
  3. 在Firefox中输入下面的URL,网页将类似于图2.6所示。

screenshot

  1. 单击Firebug中的标签HTML,再依次展开标签< html >、< body >和< i >,如图2.7所示。注意到在标签< i >下,唯一的元素是另一个标签< i >。这不对,因此回到Aptana并查看第7行的标签 < i >。注意到结束标签< i >缺少/。
  2. 将第二个< i >标签改为结束标签< /i >,再保存文档。
  3. 在浏览器中刷新网页,注意到现在只有单词Favorite为斜体了,但第一个列表项还是没有列表符号,如图2.8所示。
    screenshot
  1. 在HTML检查器中,依次展开标签< html >、< body >、< ul >和< ll >,如图2.9所示。在元素< ul >下,包含的不是4个< li >元素,而是一个< ll >元素,其中又包含< li >元素。本书还未介绍HTML标签,但如果您熟悉HTML列表,就知道ll不是合法的HTML标签,它应为< li >。

screenshot

  1. 回到Aptana,将第9行的< ll >改为< li >并保存文档。
  2. 在浏览器中刷新网页,网页将正确地显示,如图2.10所示。

screenshot

2.2.2 查看和编辑DOM
调试HTML时,另一个重要的工具是DOM检查器。DOM检查器功能极其强大,让您能够查看DOM中每个HTML元素的特性(attribute)、属性、函数、子节点、父节点等一切。信息是以树视图的方式显示的,让您能够展开和折叠各个编组。

可通过两种方式访问DOM检查器:单击Firebug中的DOM标签;查看HTML时单击HTML检查器中的DOM标签。

图2.11显示的是主DOM检查器。在主DOM检查器中,可访问有关浏览器环境的各种信息。例如,在图2.11中,展开了window对象的screen特性,这让您能够看到浏览器窗口的可用尺寸和实际尺寸。

screenshot

通常,在HTML检查器中打开DOM检查器是更佳的选择,如图2.12所示。使用HTML检查器中的DOM选项卡时,只能看到当前选定的HTML元素的DOM。这减少了显示的信息量;另外,还可在浏览器中快速修改HTML元素的特性值,让调试和开发工作容易得多。

screenshot

在DOM检查器中编辑HTML元素的值

例如,可按如下步骤修改前述示例中HTML元素的值。

  1. 在FireFox中显示文件hour0202.html,并启用Firebug。
  2. 单击Firebug中的标签HTML。
  3. 依次展开节点< html >、< body>和< ul>。
  4. 选择第一个< li>节点。
  5. 单击右边的DOM标签,如图2.12所示。
  6. 在DOM检查器中,向下滚动到节点firstChild并展开它,这是一个< TextNode>元素。
  7. 双击特性data右边的值,并按图2.12那样修改文本。注意到网页中渲染的HTML元素也变了。操纵HTML节点的可编辑特性就这么简单。
相关文章
|
2月前
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
78 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
|
3月前
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
177 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
3月前
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
85 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
3月前
html+js+css实现的建筑方块立体数字时钟源码
html+js+css实现的建筑方块立体数字时钟源码
131 33
|
3月前
|
JavaScript
jQuery+HTML5实现的微信大转盘抽奖源码
这是一款基于jQuery+HTML5实现的微信大转盘抽奖效果源码,是一款可配置奖品抽奖的jQuery大转盘抽奖代码,可实现点击按钮转轮旋转实现抽奖功能,效果逼真自然,代码里面有详细的注释,可以修改文字或者二次开发都可以
83 11
|
3月前
|
JavaScript
jQuery实现的卡片式翻转时钟HTML源码
jQuery实现的卡片式翻转时钟HTML源码
32 0
jQuery实现的卡片式翻转时钟HTML源码
|
4月前
|
Web App开发 移动开发 HTML5
html5 + Three.js 3D风雪封印在棱镜中的梅花鹿动效源码
html5 + Three.js 3D风雪封印在棱镜中的梅花鹿动效源码。画面中心是悬浮于空的梅花鹿,其四周由白色线段组成了一个6边形将中心的梅花鹿包裹其中。四周漂浮的白雪随着多边形的转动而同步旋转。建议使用支持HTML5与css3效果较好的火狐(Firefox)或谷歌(Chrome)等浏览器预览本源码。
137 2
|
5月前
|
前端开发 JavaScript 安全
HTML+CSS+JS密码灯登录表单
通过结合使用HTML、CSS和JavaScript,我们创建了一个带有密码强度指示器的登录表单。这不仅提高了用户体验,还帮助用户创建更安全的密码。希望本文的详细介绍和代码示例能帮助您在实际项目中实现类似功能,提升网站的安全性和用户友好性。
110 3
|
5月前
|
JavaScript
JS鼠标框选并删除HTML源码
这是一个js鼠标框选效果,可实现鼠标右击出现框选效果的功能。右击鼠标可拖拽框选元素,向下拖拽可实现删除效果,简单实用,欢迎下载
68 4
|
5月前
|
移动开发 HTML5
html5+three.js公路开车小游戏源码
html5公路开车小游戏是一款html5基于three.js制作的汽车开车小游戏源代码,在公路上开车网页小游戏源代码。
177 0
html5+three.js公路开车小游戏源码