我是自定义对象的新手,但发现它们非常有用,特别是因为从长远来看减少了很多代码编写。
我正在使用一种特定的算法来创建克隆元素,并使用一种方法根据克隆元素的某些属性创建一个新的唯一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;
,但似乎没有用。对我做错了什么的想法?
我很抱歉,我在这里发布它是一个错误,但我修复了它,这实际上是它的样子,它仍然不起作用。
答案 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
}