在HTML中完美工作时,JQuery中出现了意外的标识符

时间:2013-07-23 08:58:24

标签: jquery variables

我的JQuery脚本中似乎有一个“意外的标识符”,但我找不到...

var click = "window.open(
            'https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(location.href)',
            'facebook-share-dialog',
            'width=626,height=436');
        return false;";
var facebookshare = '<a href="#" onclick="' + click + '"><img src="http://w.sharethis.com/images/facebook_counter.png" /></a>';
$('<div class="facebook">' + facebookshare + '</div>').insertAfter('.easy_social-widget-twitter');

当我在纯HTML中使用相同的代码时,诀窍就是......为什么不在这个JQuery脚本中呢?

StackOverflow上的其他情况表示未闭合的函数(或其他内容),但事实并非如此。因为我用alert("check");替换了这个片段,我得到了正确的警告!

1 个答案:

答案 0 :(得分:2)

你错过\来创建一个多行字符串文字而且你的引号不应该在那里。

click字符串声明更改为

var click = "window.open(\
            'https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(location.href)',\
            'facebook-share-dialog',\
            'width=626,height=436');\
        return false;";

但你不应该像这样内联代码,你只是在寻找问题。使用jQuery的on函数来设置事件处理程序。你永远不应该在JS中生成JS代码(好吧,几乎从来没有,但是在你经验不足之前把它当作“从不”)。