在js中使用自定义属性作为元素

时间:2018-07-13 12:38:47

标签: javascript element

例如:

就像我可以将this.href用作锚元素一样,并且已经创建了一个自定义属性对话框。我无法使用该自定义属性对话框作为锚标记 this.dialog无法正常工作。

工作:

<a onclick="this.href='anything'">anything</a>

不起作用:

<a onclick="this.dialog='anything'">anything</a>

注意: 对话框的工作方式与href相同,但是会在对话框中打开。

3 个答案:

答案 0 :(得分:1)

更改元素的href之所以可行,是因为仍然遵循默认行为(跟随链接)。

您引入的属性dialog对默认行为没有影响。单击链接仍将使浏览器遵循其href

如果要更改链接的行为并单击以打开某种对话框,则需要做很多事情,而不仅仅是为元素的随机属性分配值。您需要取消默认设置,并在事件处理程序中定义自己的设置。

答案 1 :(得分:1)

您可以使用this函数,而不是尝试将值推到setAttribute上:

<a onclick="this.setAttribute('dialog', 'anything');">anythingAlso</a>

答案 2 :(得分:-1)

使用DOM访问HTML属性

element.hasAttribute('foo'); element.getAttribute('foo'); element.setAttribute('foo', value); element.removeAttribute('foo');