Javascript函数调用.以字符串形式转义引号

Jen*_*ohn 0 javascript string literals javascript-events

好吧,我的查询是,如何在Javascript中转义引号?我正在尝试使用下面的代码提醒消息.我知道它不会工作,因为它在onClick函数调用中包含双引号中的字符串并且它给出了语法错误.我如何使其工作.我的条件是我不能在函数调用中使用单引号作为参数.

    <html>
    <head>
    <script type="text/javascript">
    function litString(vals)
    {
    alert(vals);
    }
    </script>
    </head>
    <body>

    <?php echo "Just for a Test<br/>"; ?>

    <a href="#" onClick="litString("test one")"><h2>JS String Literal</h2></a>
    </body>
    </html>
Run Code Online (Sandbox Code Playgroud)

更新:

我的目的是使下面的PHP + JS代码组合起作用.

 echo '<li><a href="#" title="'.$res_bb['eng'].'" onClick=loadChap('.$res_bb['id'].','.$res_bb['chapters'].',"'.$res_bb['mal'].'")><font size="2">'.$res_bb['mal'].'</font></a></li>';
Run Code Online (Sandbox Code Playgroud)

Bar*_*mar 6

你用反斜杠来逃避引号\.

<a href="#" onClick="litString(\"test one\")"><h2>JS String Literal</h2></a>
Run Code Online (Sandbox Code Playgroud)

或者您可以使用单引号:

<a href="#" onClick="litString('test one')"><h2>JS String Literal</h2></a>
Run Code Online (Sandbox Code Playgroud)

或者您可以在属性周围使用单引号,并在内部使用双引号:

<a href="#" onClick='litString("test one")'><h2>JS String Literal</h2></a>
Run Code Online (Sandbox Code Playgroud)

如果你回应字符串,它会变得有点棘手,因为你还必须处理PHP的引用.在这里,我通过转义单引号来生成上面的第二个版本.

echo '<li><a href="#" title="'.$res_bb['eng'].'" onClick="loadChap('.$res_bb['id'].','.$res_bb['chapters'].',\''.$res_bb['mal'].'\')"><font size="2">'.$res_bb['mal'].'</font></a></li>';
Run Code Online (Sandbox Code Playgroud)

我刚用输入测试了这个:

$res_bb = array('eng'=> "Title", 'id'=> 10, 'chapters'=> 13, 'mal'=> "Foo bar");
Run Code Online (Sandbox Code Playgroud)

输出是:

<li><a href="#" title="Title" onClick="loadChap(10,13,'Foo bar')"><font size="2">Foo bar</font></a></li>
Run Code Online (Sandbox Code Playgroud)