Я новичок в пользовательских объектах, но нашел их очень полезными, особенно потому, что в долгосрочной перспективе они сокращают объем написания кода.
Я работаю с конкретным алгоритмом, который создает элемент клона и использует метод, который создает новый уникальный идентификатор на основе некоторых свойств клонированного элемента. Вот как это выглядит сейчас:
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 () - это то, чего я хочу избежать. Мне бы хотелось, чтобы метод назначал новый идентификатор указанному элементу прямо в методе, а не просто возвращал новый идентификатор.
Это то, что я придумал
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;
, и, похоже, он не работает. Есть идеи, что я делаю не так?
Я прошу прощения, это была ошибка в моей части, опубликовав это здесь, но я исправил это, это то, как он на самом деле выглядит, и он все еще не работает.