《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节点的可编辑特性就这么简单。
相关文章
|
JavaScript 算法 开发者
如何用JS实现在网页上通过鼠标移动批量选择元素的效果?
本文介绍了类似电脑桌面通过鼠标选择多个图标的实现原理。主要通过监听mousedown、mousemove和mouseup事件,动态调整选择框大小并计算与元素的重叠情况。提供了角重叠和相交重叠的检测方法,并附有示例代码和在线演示链接,方便开发者参考与测试。
498 56
|
JavaScript 前端开发 程序员
前端原生Js批量修改页面元素属性的2个方法
原生 Js 的 getElementsByClassName 和 querySelectorAll 都能获取批量的页面元素,但是它们之间有些细微的差别,稍不注意,就很容易弄错!
766 1
|
JavaScript
jQuery - 添加元素
通过 jQuery,可以很容易地添加新元素/内容。
210 11
|
JavaScript
jQuery+HTML5实现的微信大转盘抽奖源码
这是一款基于jQuery+HTML5实现的微信大转盘抽奖效果源码,是一款可配置奖品抽奖的jQuery大转盘抽奖代码,可实现点击按钮转轮旋转实现抽奖功能,效果逼真自然,代码里面有详细的注释,可以修改文字或者二次开发都可以
480 11
|
JavaScript
jQuery实现的卡片式翻转时钟HTML源码
jQuery实现的卡片式翻转时钟HTML源码
207 0
jQuery实现的卡片式翻转时钟HTML源码
|
移动开发 运维 供应链
通过array.some()实现权限检查、表单验证、库存管理、内容审查和数据处理;js数组元素检查的方法,some()的使用详解,array.some与array.every的区别(附实际应用代码)
array.some()可以用来权限检查、表单验证、库存管理、内容审查和数据处理等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
供应链 JavaScript 前端开发
通过array.every()实现数据验证、权限检查和一致性检查;js数组元素检查的方法,every()的使用详解,array.some与array.every的区别(附实际应用代码)
array.every()可以用来数据验证、权限检查、一致性检查等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
JavaScript 前端开发 开发者
.js的dom元素操作
【10月更文挑战第29天】通过灵活运用这些 DOM 元素操作方法,JavaScript 可以实现丰富的网页交互效果,如动态更新页面内容、响应用户操作、创建和删除页面元素等。在实际开发中,开发者可以根据具体的需求和场景,选择合适的 DOM 元素操作方法来实现所需的功能,为用户提供更加流畅和动态的网页体验。
|
移动开发 JavaScript 前端开发
原生js如何获取dom元素的自定义属性
原生js如何获取dom元素的自定义属性
774 4
|
JavaScript
js删除数组中已知下标的元素
js删除数组中已知下标的元素
546 4