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

Javascript 在js中为元素使用自定义属性,javascript,element,Javascript,Element,例如: 就像我可以使用this.href作为锚元素一样,我已经创建了一个自定义属性对话框。我无法将该自定义属性对话框用于锚定标记 此对话框不工作 工作: <a onclick="this.href='anything'">anything</a> 不工作: <a onclick="this.dialog='anything'">anything</a> 什么都行 注: 对话框对我的作用与href相同,但它在对话框中打开。更改元素的href

例如:

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

工作:

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

不工作:

<a onclick="this.dialog='anything'">anything</a>
什么都行
注:
对话框对我的作用与href相同,但它在对话框中打开。

更改元素的
href
有效,因为仍然遵循默认行为(链接后)

您引入的属性,
dialog
,对默认行为没有影响。单击该链接仍会导致浏览器跟随其
href


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

使用DOM访问HTML属性

element.hasAttribute('foo'); element.getAttribute('foo'); element.setAttribute('foo', value); element.removeAttribute('foo');
您正在设置属性
对话框
,而不是属性。而且
标记没有属性
对话框
。(注意,
对话框
在技术上也不是有效的属性)。“属性…”应该是“属性…”;-)