如何在字符串内的字符串中传递字符串?
问题描述:
我有一个JavaScript playAudio()函数,期望一个字符串参数。我似乎无法弄清楚如何在不中断字符串的情况下将字符串值作为参数传递给此函数。如何在字符串内的字符串中传递字符串?
htmlString = "<button class='button-icon' value='PLAY' onclick='playAudio()'></button>";
我想通过字符串“SP00005”作为参数。但是我无法使用引号或撇号,因为这些已经用于我的htmlString的更外层部分。
我甚至试过分手形成htmlString到各个步骤如下图所示:
htmlString = "";
htmlString += "<button class='button-icon' value='PLAY' onclick='playAudio(";
htmlString += "SP00005";
htmlString += ")'></button>";
所以,我对你的问题是:我怎么通过一个字符串,它本身是在一个字符串中的字符串?
答
一种方法是跳过"
。
htmlString = "<button class='button-icon' value='PLAY' onclick='playAudio(\"foo\")'></button>";
更好的选择是选择使用javascript的按钮,添加一个事件监听,并不理会内联JS
<button id="fooBtn" class='button-icon' value='PLAY'></button>
JS:
document.getElementById('fooBtn').addEventListener('click', function() {
playAudio("SP00005");
});
答
可以逃脱 “与\"'
的试验例= "Hello, I am \"Steve\""
解析为:您好,我是 ”史蒂夫“
答
你需要做的这样,使用\” 里面playAudio ():
htmlString = "";
htmlString += "<button class='button-icon' value='PLAY' onclick='playAudio(\"";
htmlString += "SP00005";
htmlString += "\")'></button>";
答
您还可以使用回蜱。这将允许你建立字符串但是你想不转义字符
var string = `<button class='button-icon' value='PLAY' onclick='playAudio('SP00005')'></button>`;
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
htmlString =“”; –