语法错误jquery单引号

时间:2017-07-27 12:29:42

标签: javascript jquery tags

我有这样的jquery代码,但是当我点击图片分享时,它无效。 我输入单引号是错误的吗?

的onClick = “window.plugins.socialsharing.share( '+ my_var +')”

var my_var="";
my_var="Hello World";

$('#info_detail').append('<table border="0"><tr><td><img src="favourite.png" onClick="
      set_favorit('+employee.info_id+')"></td><td><img src="share.png" onClick="
      window.plugins.socialsharing.share('+my_var+')"></td></tr></table>'); 

谢谢

4 个答案:

答案 0 :(得分:2)

问题是因为my_var是一个字符串,因此您需要将其包装在输出中的转义引号中。对employee.info_id值也是如此:

$('#info_detail').append('<table border="0"><tr><td><img src="favourite.png" onClick="
  set_favorit(\'' + employee.info_id + '\')"></td><td><img src="share.png" onClick="
  window.plugins.socialsharing.share(\'' + my_var + '\')"></td></tr></table>'); 

但是,您应该注意on*事件属性已经过时,应该删除,而不是使用不显眼的事件处理程序,如下所示:

$('#info_detail').append('<table border="0"><tr><td><img src="favourite.png" data-info-id="' + employee.info_id + '" class="favorit" /></td><td><img src="share.png" data-share="' + my_var + '" class="share"></td></tr></table>'); 

$('#info_detail').on('click', '.favorit', function() {
  set_favorit($(this).data('info-id'));
}).on('click', '.share', function() {
  window.plugins.socialsharing.share($(this).data('share'));
});

答案 1 :(得分:0)

您对共享图片的onClick呈现错误。

onClick="window.plugins.socialsharing.share('+my_var+')"
带有my_var = "Hello World"

变为

onClick="window.plugins.socialsharing.share(Hello World)"

这不仅因为空间而无效,而且因为它没有像你想象的那样被传递为字符串。这可以通过向my_var = "'Hello World'"添加单引号来解决。您可能最好在HTML本身之外添加点击处理程序。

答案 2 :(得分:0)

&#13;
&#13;
import {xxx} from './somewhere'
&#13;
var my_var="Hello World",
    employee = 'demo';

$('#info_detail').append('<table border="0"><tr><td><img src="favourite.png" data-info-id="' + set_favorit(employee) + '" class="favorit" /></td><td><img src="share.png" data-share="' + myVar(my_var) + '" class="share"></td></tr></table>'); 

function set_favorit(a) {
console.log(a)
}

function myVar(b) {
console.log(b)
}
&#13;
&#13;
&#13;

由于我没有该窗口功能,我添加了一些自定义功能。请检查。

答案 3 :(得分:0)

尝试从我尝试运行代码的语句中删除两个单引号,删除它在我结束时使用的引号。

这是代码。

var my_var="";

my_var =“Hello World”;

var employee = {   info_id:10 }

$('#info_detail').append('<table border="1"><tr><td><img src="favourite.png" onClick="set_favorit('+employee.info_id+')"></td><td><img src="share.png" onClick="alert(my_var)"></td></tr></table>');