将Raphael论文存储在html对象的id中

时间:2013-02-14 10:06:34

标签: javascript raphael

所以我有一些名为“paper_0”,“paper_1”等的论文,我希望以这种方式存储它们:

<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**
}

所以我有这两个错误,因为 id func 都是字符串。

有任何建议我如何存储纸张对象? 或者我可以给论文提供身份证明吗?

1 个答案:

答案 0 :(得分: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!