javascript - 如何使用 JavaScript 更改 HTML 元素的 ID?

标签 javascript html cross-browser

我正在使用 JavaScript 修改 HTML div 元素客户端的 ID。以下代码在 Internet Explorer 中工作正常,但在 Firefox/2.0.0.20 中不工作。它确实适用于较新版本的 Firefox。

document.getElementById('one').id = 'two';

谁能告诉我:

  1. 为什么这在 FireFox 中不起作用。
  2. 如何在 FireFox 中完成这项工作。

为了澄清,我正在更改元素 ID 以引用外部样式表中的不同样式。该样式在 IE 中应用,但在 FF 中不应用。

最佳答案

它确实适用于 Firefox(包括 2.0.0.20)。参见 http://jsbin.com/akili (将 /edit 添加到要编辑的 url):

<p id="one">One</p>
<a href="#" onclick="document.getElementById('one').id = 'two'; return false">Link2</a>

第一次点击将 id 更改为 "two",第二次点击错误,因为带有 id="one" 的元素现在可以找不到!

也许您已经有另一个id="two" 的元素(仅供引用you can't have more than one element with the same id)。

关于javascript - 如何使用 JavaScript 更改 HTML 元素的 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1650299/

相关文章:

javascript - IE、Javascript 和 Reflow

javascript - 我怎样才能加快这一系列的 promise ?

javascript - 如何为新语言编写括号扩展?

html - 如何添加百分比宽度的滚动?

用于 IE8 或更低版本的 html5

javascript - React 组件中 setInterval() 最好放在哪里

Android 4.0 Webview 无法正常工作

javascript - Google map 在所选城市中打开

javascript - "overflow-wrap:break-word"的浏览器兼容性

html - 如何正确编码 UNICODE 字体图标以便它们在所有浏览器上呈现