0

已解决:阅读下面的编辑

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

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,一切正常。不要问我为什么会这样,我不明白...

结束编辑

4

1 回答 1

0

您忘记了括号内参数的引号:

this.svgImageDiv.innerHTML = '<a href="javascript:goToNextNode(`'+child_id+'`)"><img src="img/transparent.png"/></a>';
于 2013-05-10T08:01:58.360 回答