Javascript 如何将字符串传递给函数

Javascript 如何将字符串传递给函数,javascript,html,Javascript,Html,我想给函数一个字符串参数 function test(p) { } ...innerHTML = '<div onclick="test(p)"><div>'; 功能测试(p) { } …innerHTML=''; 这不起作用,怎么做?正如评论中提到的,如果您有单引号/双引号问题,则需要使用\'语法(在特殊字符前添加\符号,如\'或\') 函数onPageLoad() { var testString=“这是测试文本…”; var divElement=docu

我想给函数一个字符串参数

function test(p)
{
}

...innerHTML = '<div onclick="test(p)"><div>';
功能测试(p)
{
}
…innerHTML='';

这不起作用,怎么做?

正如评论中提到的,如果您有单引号/双引号问题,则需要使用
\'
语法(在特殊字符前添加
\
符号,如
\'
\'


函数onPageLoad()
{
var testString=“这是测试文本…”;
var divElement=document.createElement('div');
divElement.innerHTML='单击我!';
document.body.appendChild(divElement);
}	
函数onClickFunc(str)
{
警报(str);
}

您正在以变量而不是字符串的形式传递
p
。此处,
p
未定义,因此会出现错误。请将其作为字符串传递

试试这个:

function test(p)
{
}

...innerHTML = '<div onclick=test("p")>ABC</div>';
功能测试(p)
{
}
…innerHTML='ABC';

function test(p)
{
}

...innerHTML = '<div onclick="test(\'p\')">ABC</div>';
功能测试(p)
{
}
…innerHTML='ABC';

为什么要这样做,使用
createElement
创建一个实际的元素,并使用
addEventListener
添加一个实际的事件处理程序,不是更好吗?innerHTML='';应该使用
innerHTML='';字符串不需要用“字符串”标记吗“?@TheFrenchPlaysHdMicraftn您的意思是什么?您的第一个示例不起作用,因为onclick本身需要有引号(onclick=“…”),事件上的引号是可选的。我昨天测试了它,它成功了。试试看。