创建一个更改对象属性的自定义方法

时间:2011-09-19 18:45:45

标签: javascript methods properties

我是自定义对象的新手,但发现它们非常有用,特别是因为从长远来看减少了很多代码编写。

我正在使用一种特定的算法来创建克隆元素,并使用一种方法根据克隆元素的某些属性创建一个新的唯一ID。这就是现在的样子:

Element.prototype.theID = theID;

function theID(){
//this.makeNewID code
//code that builds a new ID and stores it in a variable called nwID
return nwID
}

function buildClone(cloneThis){
//builds  a clone out of the specified cloneThis element and stores it in a variable
//called clonedElement
 var nwID = clonedElement.theID;//determines a new ID
 clonedElement.setAttribute('id', nwID);//asignes the ID to the element.
 }

buildClone()函数中的最后两行是我想要避免的。我希望方法在方法中将新id分配给指定元素,而不是只返回一个新ID。

这就是我想出来的

Element.prototype.theID = theID;

function theID(){
//this.makeNewID code
//code that builds a new ID and stores it in a variable called nwID
this.setAttribute('id', nwID);//asignes the ID to the element.
}

function buildClone(cloneThis){
//builds  a clone out of the specified cloneThis element and stores it in a variable
//called clonedElement
 clonedElement.theID();//determines a new ID
 }

我尝试过的这种新方法不起作用,我也试过了return clonedElement.theID;,但似乎没有用。对我做错了什么的想法?

我很抱歉,我在这里发布它是一个错误,但我修复了它,这实际上是它的样子,它仍然不起作用。

1 个答案:

答案 0 :(得分:1)

theID是一个函数,因此需要调用它:

function buildClone(cloneThis){
    //builds  a clone out of the specified cloneThis element and stores it in a variable
    //called clonedElement
    clonedElement.theID(); //determines a new ID
}