2013-02-14 7 views
0

Так что я некоторые документы под названием «paper_0», «paper_1» и т.д., и я хочу, чтобы хранить их таким образом:магазин Рафаэль документы в ид HTML объекта

<h2 id="paper_0" onclick="doThing(this.id, 'myFunction')">Name of this thing</h2> 

и в моем файла JavaScript:

//some code here 
function doThing(id, func){ 
    currentId = id; //store current game 
    func(); //this would create paper_0 **error** 
    //some code here 
} 

function removePaper(){ 
    currentId.remove(); // **error** 
} 

поэтому у меня есть эти 2 ошибки, потому что идентификатор и функ являются строками.

Любое предложение, как я могу хранить бумагу объектов? Или я могу дать удостоверения на документы?

ответ

1

Вы передаете имя функции, а не фактическую функцию.

Попробуйте вместо этого:

function doThing(id, func){ 
    currentId = id; //store current game 

    if(func == "myFunction") myFunction(currentId); 

    //... 
} 

Вы можете хранить объекты в глобальной переменной:

var papers = array(); 

function myFunction(id) { 
    papers.push(id); 
} 

Чтобы удалить элементы из массива, вы можете сделать это: How do I remove a particular element from an array in JavaScript?

function removePaper(id){ 
    papers.splice(array.indexOf(id), 1); 
} 

Вы можете изменить этот предмет собаки в соответствии с вашими потребностями:

var myDog = { 

    "name" : "Spot", 

    "bark" : function() { alert("Woof!"); }, 

    "displayFullName" : function() { 
     alert(this.name + " The Alpha Dog"); 
    } 
}; 

myDog.displayFullName(); 

myDog.bark(); // Woof! 
+0

Спасибо за быстрый ответ! Поэтому после этого я могу использовать бумаги [0] .remove()? – Feca1997

+0

Спасибо, но я хотел бы назвать метод remove() для бумажного объекта. – Feca1997

+0

Нет больше вопросов, еще раз спасибо! – Feca1997

Смежные вопросы