在Jquery

时间:2016-04-22 08:58:58

标签: javascript jquery

我正在尝试添加一个包含属性的列表项,但每次运行它都会出错。你知道我的代码有什么语法问题吗?

<div class="subway-map" data-columns="12" data-rows="10" data-cellSize="40" data-legendId="legend" data-textClass="text" data-gridNumbers="true" data-grid="true" data-lineWidth="8">
    <ul data-color="#ff4db2" data-label="jQuery Widgets">          
        <li data-coords="2,2"><a href="#">North Ave</a></li>
        <li data-coords="4,2"><a href="#">South</a></li>
        <li data-coords="6,2"><a href="#">West</a></li>
    </ul>

    <ul data-color="red" data-label="jQuery Interactions" class="map2></ul>
</div>      
$(".subway-map").subwayMap({ debug: true });
$(".map2").append("<li data-coords="2,4">Test</li>"); // This is the issue

5 个答案:

答案 0 :(得分:4)

问题是因为您使用双引号分隔字符串文字并在字符串中使用双引号。您可以通过在字符串本身周围使用单引号来解决此问题。试试这个:

$(".map2").append('<li data-coords="2,4">Test</li>');

或者你可以为两者使用双引号,但你需要在字符串中使用\来转义它们:

$(".map2").append("<li data-coords=\"2,4\">Test</li>");

我建议您使用带语法高亮的编辑器,因为它几乎不可能错过这样的错误。

答案 1 :(得分:2)

如上所述 here

  

如果您在字符串中使用一种形式的引用,则可能希望将另一种形式用作文字。

你追加的内部双引号打破了字符串。用单引号替换它们以正确处理它:

 $(".map2").append("<li data-coords='2,4'>Test</li>");

答案 2 :(得分:2)

""没有正确的转义或连接。

替换

 $(".map2").append("<li data-coords="2,4">Test</li>"); // <---This is the issue

 $(".map2").append('<li data-coords="2,4">Test</li>'); 

 $(".map2").append("<li data-coords=\"2,4\">Test</li>");

答案 3 :(得分:1)

双引号存在问题,请改用单引号。试试这个:

$(".map2").append("<li data-coords='2,4'>Test</li>");

答案 4 :(得分:0)

您可以使用此

$(".map2").append("<li data-coords='2,4'>Test</li>");

OR

$(".map2").append('<li data-coords="2,4">Test</li>');