将它赋予函数后,为什么我的字符串不再是字符串?

时间:2013-05-10 07:14:07

标签: javascript html string href

已解决:阅读下面的编辑

首先,我创建一个这样的字符串:

var child_id = "childId"+this.id;
alert(child_id);

警报显示正确的字符串。 this.id是一个字符串,我也创建了一个临时变量,并将它再次放入一个字符串(var tmp_child_id = child_id.toString()),以确保它是一个字符串。

在此之后我将此字符串赋予函数goToNextNode,并带有如下的href链接:

this.svgImageDiv.innerHTML = '<a href="javascript:goToNextNode('+child_id+')"><img src="img/transparent.png"/></a>

在函数goToNextNode中我首先触发一个警报,它不显示上面提醒的字符串,它说“[Object HTMLDivElement]”。

function goToNextNode(childId){
   alert(childId);
}

我的字符串发生了什么以及如何正确传输字符串?

编辑: 解决了: 当我做var child_id = this.id;而不是var child_id =“childId”+ this.id;并将“childId”字符串放入函数goToNextNode()中的id,一切正常。不要问我为什么它会像这样,我不明白......

结束编辑

1 个答案:

答案 0 :(得分:0)

你忘了括号内参数的引号:

this.svgImageDiv.innerHTML = '<a href="javascript:goToNextNode(`'+child_id+'`)"><img src="img/transparent.png"/></a>';