0

我在 html 中有一个元素,如下所示。

<tr><td class="HELPTEXT"><span lang="HLPMTXT1" id="HLPMTXT1"></span></td></tr>

我想根据特定条件更改 lang 的值。我尝试了下面给出的方法。但它不起作用。

<script> document.getElementById("HLPMTXT1").lang ="HLPMTXT2" </script>

任何人都可以帮助我更改跨度的 lang 属性的值吗?

4

2 回答 2

0
document.getElementById('HLPMTXT1').setAttribute('lang', 'HLPMTXT2');

并非所有属性都可以通过对象属性访问

于 2011-08-18T05:46:58.940 回答
0

你应该setAttribute(name, value)这样做,所以你的代码看起来像:

document.getElementById("HLPMTXT1").setAttribute("lang", "HLPMTXT2");

您还可以getAttribute(name)使用 JavaScript 检索值。

  1. https://developer.mozilla.org/en/DOM/element.setAttribute
  2. https://developer.mozilla.org/en/DOM/element.getAttribute

编辑:您的脚本也可能无法正常工作,因为您试图在元素存在于 DOM 之前访问它。确保元素存在的最佳方法是:a) 将脚本标记放在元素之后,b) 使用 unload 事件来延迟 JS 的执行,直到所有内容都加载完毕,或者 c) 使用 DOMContentLoaded 事件。然而,后者对于跨浏览器工作有点棘手(无需重用已经解决了这些问题的其他人的代码),因此您可能需要先阅读它。

于 2011-08-18T05:47:44.380 回答