对于以下代码(使用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();
});
}
答案 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>');