javascript - elt.lang = 'fr' 不工作

标签 javascript attributes firefox-addon lang

我在Firefox 扩展的环境中工作。

问题

我正在尝试创建一个具有特定 lang 属性的新元素。我尝试了 How to create HTML element with lang attribute in JavaSript? 中给出的方法 elt.lang = 'zh'不起作用。该元素已创建,但没有 lang 属性。

未按预期代码工作

var wrapper = document.createElement("span");
  var zh = document.createElement("i");
    zh.textContent = symbol;
    zh.lang= "zh-cmn"; // <-- -- -- -- -- -- --
  var srcText = document.createTextNode('blablabla');
wrapper.appendChild(zh);
wrapper.appendChild(srcText);

按预期代码工作

但是当我使用Element.setAttribute()时方法效果很好:

zh.setAttribute('lang','zh');

为什么elt.lang/dot-notation 方法不起作用?

最佳答案

并非所有可能的 HTML 属性都会反射(reflect)为 javascript setter/getter。例如,https://developer.mozilla.org/en-US/docs/Web/API/Node肯定会列出textContent,但不会列出lang。我建议始终使用setAttribute/getAttribute,除了可能最基本的属性,例如“src”或“href”。

关于javascript - elt.lang = 'fr' 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18485948/

相关文章:

c# - 不优雅/不正确地使用属性?

javascript - 如何在 iMacros 中保存网页图像?

firefox-addon - 更改 Firefox 插件安装图标

firefox-addon - 以编程方式创建 Firefox 配置文件

javascript - 如何将参数插入多重嵌套数组/对象结构中?

PHP 获取标签的属性

javascript - rails - 如何升级我的 jquery,我没有在 app/assets 中看到它,但它在 application.js 中被引用?

c# - c#中的[Required]和[Required()]有什么区别

javascript - 为什么 100% 宽度/高度在 iPhone 上不起作用?

javascript - 在音频中的特定点触发JavaScript事件