Javascript 如何在HTML onclick事件中传递带有单个qoatations的字符串

Javascript 如何在HTML onclick事件中传递带有单个qoatations的字符串,javascript,html,onclick,Javascript,Html,Onclick,我在试图修复代码中的错误时遇到了很大的困难。基本上我有一个按钮,当点击它时,它会向一个函数发送两个参数。第一个参数是电视节目的ID,第二个参数是电视节目的名称。现在,除非我点击按钮,它试图发送一个电视节目名称,如格雷的解剖由于单一的报价 有没有什么方法可以使用js replace函数 我遇到问题的代码行如下: <a onclick="watchedShow('${showArr[i].imdbID}','${showArr[i].Title}'" class="btn btn-primar

我在试图修复代码中的错误时遇到了很大的困难。基本上我有一个按钮,当点击它时,它会向一个函数发送两个参数。第一个参数是电视节目的ID,第二个参数是电视节目的名称。现在,除非我点击按钮,它试图发送一个电视节目名称,如格雷的解剖由于单一的报价

有没有什么方法可以使用js replace函数

我遇到问题的代码行如下:

<a onclick="watchedShow('${showArr[i].imdbID}','${showArr[i].Title}'" class="btn btn-primary" href="#">I've removed the syntax error from your code and implemented basics here to show it working. Can you look at this and tell me what doesn't work? That way we can answer your question directly.

var showArr = [{Title:"test one"}, {Title:"test's with apostrophe'"}];
var output = '';
for (i = 0; i < showArr.length; i++) { //loops through the results and puts the show names in an array.
  output += `
      <div class="col-4">
        <div class="well text-center">
          <h3>${showArr[i].Title}</h3>
        </div>
      </div>`
}
$('#shows').html(output);

我已经从您的代码中删除了语法错误,并在这里实现了一些基础知识来说明它的工作原理。你能看看这个,告诉我什么不起作用吗?这样我们可以直接回答你的问题

var showArr=[{Title:“test one”},{Title:“test's with撇号'”}];
var输出=“”;
for(i=0;i


您是否考虑过将imdbID和show title放入链接的数据属性中,然后通过传递给watchedShow的事件参数访问这些属性?您需要在TV show的名称中转义单引号。要避开单引号,您可以使用:\'不要使用内联onclick,而是使用更现代的不引人注目的事件侦听器。对于jQuery(您似乎正在使用的)使用
$(选择器)。在('click',handlerFunction)
上,您可以使用JS的
encodeURIComponent()
函数及其对应的
decoduricomponent()
安全地编码您姓名中的其他疯狂字符。因此,它们可以在您的示例中使用。但要当心!这些功能设计得不是很好。您的单一报价仍需处理: