jQuery Mobile引用引号内的引号

时间:2014-01-05 02:30:56

标签: javascript jquery quotes double-quotes

我在jQuery Mobile中遇到过一种情况,我在这里生成一个超出引号的引号内的引号。我在其他帖子中搜索了可能的解决方案,但似乎没有任何效果。这是原始代码:

$("#char_list").append("<div data-role='collapsible'>
<h4> " + charName + "</h4><p><strong>Number of Actions:</strong> " + charNumActions + 
"</p><a data-role='button' class='edit_button'    
onClick='sessionStorage.setItem('editCharName', '" + charName + "')' 
data-icon='edit' data-iconpos='left'>Edit</a><a data-role='button' id='delete_char_button' 
class='delete_button' data-inline='true' data-icon='delete' data-iconpos='left'>Delete</a></div>");

问题在于onclick部分;它会产生语法错误,我理解其中的原因。我在单引号后使用了单引号。

所以,在搜索完这些论坛之后,我尝试转义这样的第二组引号(为了简洁起见只放入onclick部分):

 onClick='sessionStorage.setItem(\"editCharName\", '\"" + charName + "\")'

这不会产生语法错误,但它会使按钮无效;我点击它,一切都没有发生。    那么我也尝试了这个,也来自这个论坛:

 onClick='sessionStorage.setItem(&quot;editCharName&quot;, '&quot;" + charName + "&quot;)'

这与逃避报价具有相同的效果。也就是说,单击按钮时没有任何反应。

必须有办法做到这一点。如果有人有任何建议,请告诉我。谢谢!

1 个答案:

答案 0 :(得分:2)

喜欢这个吗?

$("#char_list").append("<div data-role='collapsible'>" +
    "<h4>" + charName + "</h4>" +
    "<p><strong>Number of Actions:</strong>" + charNumActions + "</p>" +
    "<a data-role='button' class='edit_button' data-icon='edit' data-iconpos='left'>Edit</a>" +
    "<a data-role='button' id='delete_char_button' class='delete_button' data-inline='true' data-icon='delete' data-iconpos='left'>Delete</a>" +
    "</div>");

$(document).on('click','.edit_button',function(){
    var charName = $(this).parents('[data-role="collapsible"]').find('h4').html();
    sessionStorage.setItem('editCharName',charName);
});
  • 删除内联JS /以jQuery样式制作
  • 更具可读性!