【发布时间】:2013-05-10 16:01:58
【问题描述】:
已解决:阅读下面的编辑
首先我创建一个这样的字符串:
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,一切正常。不要问我为什么会这样,我不明白......
结束编辑
【问题讨论】:
-
您到底在提醒什么? this.id 也是字符串吗?
-
你能展示你的 goToNextNode() 吗?
-
@remyabel,是的,我也将它再次放入带有 tmp 变量的字符串中,如上所示,我编辑了我的帖子并将 goToNextNode 函数放入我的帖子中
-
@DD59 当我写 alert(child_id) 我警告 var child_id 而不是我给函数的 childid ... child_id 变量的值变化很快,这就是我输入值的原因进入 href 链接。
-
尝试
console.log(childId)检查浏览器控制台中的值
标签: javascript html string href