Javascript Quotes BRAKES JS变量
我需要在js脚本中创建var,如下所示:Javascript Quotes BRAKES JS变量,javascript,Javascript,我需要在js脚本中创建var,如下所示: var map = "<div class="map"><?php echo do_shortcode('[wpgmza id="3"]'); ?></div>"; var-map=“使用其他引号或转义它们 var-map=`var-map=/“转义引号 var map = "<div class=\"map\"><?php echo do_shortcode('[wpgmza id=\"3\"]
var map = "<div class="map"><?php echo do_shortcode('[wpgmza id="3"]'); ?></div>";
var-map=“使用其他引号或转义它们
var-map=`var-map=/“转义引号
var map = "<div class=\"map\"><?php echo do_shortcode('[wpgmza id=\"3\"]'); ?></div>";
var-map=”“;
如果使用“
打开值,JavaScript将查找第二个”
以了解值的结束位置。当您现在在值内使用它时,它会提前停止。通过转义要在值中使用的“
,您将确保JavaScript知道它是值的一部分
因此,在代码中,Javascript将在第二个“
”之后停止:
var-map=”“代码>
由于JavaScript不知道如何处理这一部分,它将抛出一个错误
如果您不理解上面的部分,这可能会更好地解释它:
您可以将其视为if语句,其中需要两个括号。一个打开{
,一个关闭}
。在值中还需要两个字符,一个打开,一个关闭。在您的情况下,使用“
打开值,使用”
关闭值。因此,一旦它点击第二个“
,它将关闭该值
您所做的赋值与此if语句相当:if{}
。JavaScript不知道如何处理最新的}
,因为没有其他if语句要关闭,因此它会抛出错误。您可以使用以下几种方法修复变量的值:
转义引号
您可以在双引号中添加反斜杠,使JS解析器忽略它们。为了清晰起见,我还将连接PHP值:
var map = "<div class=\"map\">" + <?php echo do_shortcode('[wpgmza id="3"]'); ?> + "</div>";
var映射=”“+使用单引号”
,或模板文字<代码>变量映射=`…`
话虽如此,您可以创建元素而无需解析HTML字符串。如果PHP部分所响应的HTML也包含各种引号,那么这将不会有帮助。更好的方法是使用AJAX加载内容。Wordpress支持开箱即用的ajax。顺便提一下:由于地图画布(?)插入到服务器上,因此可能不需要走var
路线。请显示或描述您正在使用map
执行的操作;至少有一个更好的方法来解决这个问题。我不明白你在第一个案例中使用的是什么引用。这是口音坟墓吗?谢谢,我不知道口音坟墓可以使用,因为Javascript版本“ECMAScript 6”很棒!谢谢:)修复了你的问题的格式,但仍然是错误的。屏蔽是用反斜杠完成的,不能屏蔽外部引号。
var map = "<div class=\"map\"><?php echo do_shortcode('[wpgmza id=\"3\"]'); ?></div>";
var map = "<div class=\"map\">" + <?php echo do_shortcode('[wpgmza id="3"]'); ?> + "</div>";
var map = '<div class="map">' + <?php echo do_shortcode('[wpgmza id="3"]'); ?> + '</div>';
var map = "<div class='map'>" + <?php echo do_shortcode('[wpgmza id="3"]'); ?> + "</div>";
var map = `<div class="map"><?php echo do_shortcode('[wpgmza id="3"]'); ?></div>`;