0

请在下面找到代码。当我试图将变量 tmp_lnk 从 onclick 事件传递给函数时,它会引发一个错误,即 tmp_lnk 未定义。如何将变量传递给函数?

if(fig_name[1]==img_name)
{
var tmp_lnk = "Supplementary Notes for Images/"+"6H-"+img_name/img_name+".pdf"
$("#notes1").append('<div><a onclick="On_Click(tmp_lnk)" id="closebutton">NOTES</a></div>')
break;
}}

function On_Click(tmp_link)
{
    window.open("tmp_lnk");
}

}

4

3 回答 3

1
$("#notes1").append('<div><a onclick="On_Click(' + tmp_lnk+ ')" id="closebutton">NOTES</a></div>')

function On_Click(tmp_lnk)
{
    window.open(tmp_lnk);
}
于 2012-10-25T15:45:55.967 回答
0

或者,这个怎么样:

$("#notes1").append('<div><a onclick="On_Click('+tmp_lnk+')" id="closebutton">NOTES</a></div>')

这将使变量内容写在方法调用上,解决您的问题。

于 2012-10-25T15:45:37.807 回答
0

因为您在 if 中声明 tmp_lnk 使其成为全局或在 if 之外声明

var tmp_lnk
if(fig_name[1]==img_name)
{
tmp_lnk = "Supplementary Notes for Images/"+"6H-"+img_name/img_name+".pdf"
$("#notes1").append('<div><a onclick="On_Click(tmp_lnk)" id="closebutton">NOTES</a></div>')
break;
}}

function On_Click(tmp_link)
{
    window.open("tmp_lnk");
}
}

好读

JavaScript 变量范围

于 2012-10-25T15:45:43.540 回答