为了清楚了解.hasAttribute的含义,我在MDN上进行了查询。他们作为用例提供的以下代码片段使我感到困惑,因为其属性“ bar”不是html属性,而是一个值。它是风俗的吗?我从未听说过要创建自己的自定义属性。有人可以解释吗?
var result = element.hasAttribute(name);
var foo = document.getElementById("foo");
if (foo.hasAttribute("bar")) {
// do something
}
答案 0 :(得分:0)
您经常会在代码段中看到“ foo”和“ bar”用作占位符。这只是一个程序员的笑话。
单词“ foo”和“ bar”来自“ foobar”或更确切地说是“ fubar”,该术语用于描述已损坏的东西。它代表“超越所有认知的F * d”
基本上在示例中,将“ foo”替换为html元素的ID,并将“ bar”替换为要在该元素上检查的任何html属性。
答案 1 :(得分:0)
下面是一个带有相关HTML的示例,以显示属性bar
在元素上如何存在。
var foo = document.getElementById("foo");
if (foo.hasAttribute("bar")) {
console.log('Element has attribute "bar". Value is:', foo.getAttribute("bar"));
}
<div id="foo" bar="random string">Div Element</div>
这是习惯吗?我从未听说过要创建自己的自定义属性。
是的,那将是一个自定义属性。但是,自定义属性的标准是使用data attributes:
<div id="foo" data-bar="">div</div>
但是有一些例外,因为Web组件可以定义的自定义属性不是data- attributes
。但是Web组件可能不是您想要的。