0

我正在尝试为 DOM 元素“img”分配属性“itemId”

这是代码

var img = document.createElement('IMG');
window.console.log(itemId);
img.itemId = itemId;
window.console.log(img.itemId); 

执行控制台后包含以下消息:

41
http://example.domain/41

其中 example.domain - 是我网站的地址。

此问题出现在 Opera 和 Mozilla 中,但在 Chrome 中此代码工作正常(img.itemId == 41)。示例:http: //jsfiddle.net/uwPY5/

谁能解释发生了什么?

4

1 回答 1

1

非常奇怪的行为,但尝试标准方式:

img.setAttribute("itemId", itemId);

不过,为了与 HTML5 兼容,您应该像这样为属性名称添加前缀:

img.setAttribute("data-itemId", itemId);

然后读回来:

var itemId = img.getAttribute("data-itemId");
于 2013-04-04T12:40:49.250 回答