预期的表达,得到'}'?

时间:2017-08-26 15:00:04

标签: javascript jquery

我正在尝试将以下内容传递给jquery变量,但是当我点击它时它表示预期的表达式,得到}。它与报价有关吗?在这种情况下,我应该如何使用双引号和单引号?

var content = $("<div class='channel' id='general' onclick='jumpToFirstLevelRoom('general')'>General</div>")

5 个答案:

答案 0 :(得分:4)

是的,你的报价是错误的。您在单引号内有未转义的单引号。

您应该使用以下任何一种引用技巧:

  • 不同的引语:

    var content = $("<div class='channel' id='general' onclick='jumpToFirstLevelRoom(`general`)'>General</div>")
    
  • 转储引号:

    var content = $("<div class='channel' id='general' onclick='jumpToFirstLevelRoom(\'general\')'>General</div>")
    

答案 1 :(得分:0)

您可以使用转义序列从变量中删除双引号。

var content = $("<div class=\"channel\" id=\"general\" onclick=\"jumpToFirstLevelRoom('general')\">General</div>")

答案 2 :(得分:0)

更改您当前的代码

var content = $("<div class='channel' id='general' onclick='jumpToFirstLevelRoom('general')'>General</div>")

var content = $("<div class='channel' id='general' onclick='jumpToFirstLevelRoom(\'general\')'>General</div>");

只需使用escape characters

使用es6,你可以做到

var content = $(`<div class='channel' id='general' onclick='jumpToFirstLevelRoom("general")'>General</div>`);

希望这能解决问题。

答案 3 :(得分:0)

您正在寻找的是:

var content = $("<div class='channel' id='general' enter code hereonclick='jumpToFirstLevelRoom(\'general\')'>General</div>");

您需要使用转义字符来删除双引号。

答案 4 :(得分:0)

我的代码中出现了问题。问题出在你正在调用函数并传递参数的语句中。

var content = $("<div class='channel' id='general' onclick='jumpToFirstLevelRoom('general')'>General</div>")

您在函数 jumpToFirstLevelRoom(&#39; general&#39;)中传递字符串 general 。 因此,当您开始使用字符串 general 的单引号时,它表现为 onclick =&#39; 的结束引号。

尽量不要将函数中的字符串作为参数传递。然后代码将运行。 我希望它会对你有所帮助。 :)