额外单引号 - 无法摆脱它

时间:2012-04-19 18:24:24

标签: javascript jquery

对于以下代码(使用JavaScript / jQuery),我在我的网站上控制幻灯片/预览滑块类型小部件。它工作得很好。我们有一个小指示框,突出显示您所在的幻灯片中的哪些。它们也有效。但由于某种原因,每个人之间都会出现单引号。我能够将它追溯到我在下面用帽子评论的那条线。你看到的最后一个单引号似乎是导致它,但是当我删除它时,它会破坏代码。为什么需要这个单引号?我不知道它与之匹配的是什么。

for(var i = -1; i < numberOfSlides; i++)
    {
        $('#locationBar').append("<span class='locator' id='locator_" + i + "'><a></a></span>'");
//THE LAST SINGLE QUOTE HERE IS WHAT IS CAUSING THE QUOTES BETWEEN THE SLIDE INDICATORS. GETTING RID OF IT BREAKS IT THOUGH. INVESTIGATE.
        if(i < 0)
        {
            $('#locator_' + i).css('visibility','hidden');
            continue;
        }
        $('#locator_' + i).bind('click',function(){window.location=$('#link_' + currentPosition).attr('href');});
        $('#locator_' + i).hover(function(){

            var newPosition = 0;
            for(var j = 0; j < numberOfSlides; j++)
            {
                if($(this).attr('id') == "locator_" + j)
                {
                    newPosition = j;
                }
            }
            if(currentPosition==newPosition)
                return;

            jump(currentPosition,newPosition);


            currentPosition=newPosition;

            clearTimeout(delayTimer);
            delayScroll();
        });
    }

2 个答案:

答案 0 :(得分:0)

<强> EDITED

在同一句话中混合单引号和双引号可能会导致问题。

$('#locationBar').append('<span class="locator" id="locator_' + i + '"><a></a></span>');

虽然user1277499的答案也应该解决这个问题,但是它没有用?

答案 1 :(得分:0)

逃避字符串。
你有额外的报价是有意义的 你的行结束了

"'><a></a></span>'"

所以你得到双引号内的引号。

逃脱的例子:

 $('#locationBar').append('<span class=\'locator\' id=\'locator_' + i + '\'><a></a></span>');