动态设置name属性

时间:2012-06-25 20:44:53

标签: javascript

  

可能重复:
  getElementByClass().setAttribute doesn't work

为什么:

document.getElementsByClassName('cke_source').setAttribute('name', "mymessage") 

回归:

TypeError: Object #<NodeList> has no method 'setAttribute'

document.getElementsByClassName('cke_source')正在正确返回对象。

  • 请不要jQuery。

2 个答案:

答案 0 :(得分:5)

document.getElementsByClassName将返回元素的节点列表(如数组)。所以,你需要像对待数组一样对待它。如果您只有一个元素,请尝试此操作:

document.getElementsByClassName('cke_source')[0].setAttribute('name', "mymessage")

答案 1 :(得分:5)

getElementsByClassName会返回一组项目,而不是单个项目。

var pColl = document.getElementsByClassName('cke_source');
for (var ii=0; ii< pColl.length; ii++)
{
    pColl[ii].setAttribute('name', 'foo');
}