我正在尝试将以下内容传递给jquery变量,但是当我点击它时它表示预期的表达式,得到}。它与报价有关吗?在这种情况下,我应该如何使用双引号和单引号?
var content = $("<div class='channel' id='general' onclick='jumpToFirstLevelRoom('general')'>General</div>")
答案 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; 的结束引号。
尽量不要将函数中的字符串作为参数传递。然后代码将运行。 我希望它会对你有所帮助。 :)