处理Jquery模板中的特殊字符

时间:2018-02-05 14:00:15

标签: javascript jquery

Swap'niltestFunction()时,它会在控制台中抛出错误:

  参数列表后

未捕获的语法错误:缺失。

如何在jQuery中处理这些特殊字符,以便能够使用给定名称调用<script type="text/x-jquery-tmpl" id="tmplTest"> {{each(i, row) data}} <a href="javascript:void(0)" onclick='javaScript:testFunction('\${row[1]}');'>Click here</a> {{/each}} </script>

function testFunction(name) {
  alert("test");
}
innodb_use_native_aio = 0

1 个答案:

答案 0 :(得分:1)

您可以通过使用不显眼的JS来附加事件而不是过时的on*事件属性来避免问题并改善逻辑。您还可以使用data属性来存储所需的值。

由于您已在页面中包含jQuery,请尝试以下操作:

$(function() {
  $(document).on('click', '.link', function(e) {
    e.preventDefault();
    var name = $(this).data('name');
    console.log(name);
  });
});
<script type="text/x-jquery-tmpl" id="tmplTest">
  {{each(i, row) data}}
    <a href="#" data-name="${row[1]}" class="link">Click here</a> 
  {{/each}}
</script>

请注意,您可能仍需要对data属性中的值进行HTML编码。您的模板库应该有如何操作的说明。