javascript - 是否可以向 DOM 文档添加方法?

标签 javascript methods domdocument

我正在开发一个函数来查找另一个元素标识符中的特定元素(类似于 getElementById 但适用于任何其他元素)...因为这会引发我的错误:

var ancestor = document.getElementById('divAncestor');
var child = ancestor.getElementById('divChild');

我知道,HTML 指定 id 必须是唯一的,但现实证明,经常运行的脚本可以包含具有相同 id 的项目。所以,这就是为什么我不简单地这样称呼 child 的原因:

var ancestor = document.getElementById('divChild');

第一个选项是将此函数添加到每个 HTML 元素,或者至少是 div(因为这就是我感兴趣的内容)。第二种,也是我更喜欢的一种,是向 dom 文档添加一个方法,并通过传递父子的 ID 作为参数来调用。

这可能吗?

感谢您的宝贵时间。

最佳答案

使用这个:

document.querySelector("div#divAncestor div#divChild");

这将获取带有 id="divAncestor"div 中带有 id="divChild" 的第一个 div >

虽然 ID必须是唯一的,但根据规范,它们确实可能不是唯一的。
(浏览器处理得很好)
虽然您的首要任务“应该是”防止这种情况发生,但上面的代码是有效的。

如果有多个祖先或 child ,这应该有效:

document.querySelectorAll("div#divAncestor div#divChild");

<强> Fiddle Example

这些查询选择器的工作方式类似于 CSS 选择器。选择类,如:div.className,多个元素,如:div、p、h1 等。

关于javascript - 是否可以向 DOM 文档添加方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13881172/

相关文章:

javascript - Uncaught Error : Unable to parse bindings

javascript - 当我有按钮而不是提交时如何使用回车键提交表单

java - 在Java中是否有任何直接的方法来获取和发送“当前方法名称”作为参数?

php - 解析脚本标签中的 CDATA 部分时 PHP DOMDocument LoadHTML 出现问题

javascript - 如何从 JavaScript 列表中删除新项目?

javascript - Number.toLocaleString(),minimumFractionDigits 的作用类似于 max

javascript - 从 OnClicks 目标 react 中获取嵌套元素

haskell - 从具有函数作为 Haskell 中的字段的数据类型派生 Eq 时出现问题

javascript - 如何创建函数方法

java - 如何使用 DOM 转义特殊字符