2014-07-10 32 views
0

我已經使用find函數來完全確保沒有需要轉義的引號。要放入我的「viewbox」div的html完全是單引號,而且我用雙引號括起來。沒有一個例外。當我刪除我想插入的內容,並用一個簡單的'測試'替換它時,它工作正常,所以它似乎不是圖書館問題,或類似的東西。另外,當我將其保存爲html文件時,我試圖插入的代碼本身也可以工作。我幾乎肯定我忽略了一些東西。我試過,搜索過,並做了我能想到的所有事情。這裏是JavaScript代碼。即使我沒有引號要轉義,它仍然說我有一個未關閉的字符串(jquery)

編輯:我把所有的代碼行放在一行上。它是有效的,但不是渲染自舉輪播,而是一次接一個地顯示所有圖像。

$(document).ready(function() { 
$('#aprilissue').click(function() { 
$('#viewbox').html(
    " 
<div class='row'> 
<div class='col-md-2'> 
</div> 
<div class='col-md-8'> 

<center> 
<div id='carousel-example-generic' class='carousel slide' data-interval='false'> 
    <!-- Wrapper for slides --> 
    <div class='carousel-inner'> 
    <div class='item active'> 
     <img src='img/april/page01.jpg' alt='> 
    </div> 
<div class='item'> 
     <img src='img/april/page02.jpg' alt='> 
    </div> 
<div class='item'> 
     <img src='img/april/page03.jpg' alt='> 
    </div> 
    <div class='item'> 
     <img src='img/april/page04.jpg' alt='> 
    </div> 
    <div class='item'> 
     <img src='img/april/page05.jpg' alt='> 
    </div> 
    <div class='item'> 
     <img src='img/april/page06.jpg' alt='> 
    </div> 
    <div class='item'> 
     <img src='img/april/page07.jpg' alt='> 
    </div> 
    <div class='item'> 
     <img src='img/april/page08.jpg' alt='> 
    </div> 
    <div class='item'> 
     <img src='img/april/page09.jpg' alt='> 
    </div> 
    <div class='item'> 
     <img src='img/april/page10.jpg' alt='> 
    </div> 
    <div class='item'> 
     <img src='img/april/page11.jpg' alt='> 
    </div> 
    <div class='item'> 
     <img src='img/april/page12.jpg' alt='> 
    </div> 
    <div class='item'> 
     <img src='img/april/page13.jpg' alt='> 
    </div> 
    <div class='item'> 
     <img src='img/april/page14.jpg' alt='> 
    </div> 
    <div class='item'> 
     <img src='img/april/page15.jpg' alt='> 
    </div> 
    <div class='item'> 
     <img src='img/april/page16.jpg' alt='> 
    </div> 
    <div class='item'> 
     <img src='img/april/page17.jpg' alt='> 
    </div> 
    <div class='item'> 
     <img src='img/april/page18.jpg' alt='> 
    </div> 
    <div class='item'> 
     <img src='img/april/page19.jpg' alt='> 
    </div> 
    <div class='item'> 
     <img src='img/april/page20.jpg' alt='> 
    </div> 
    <div class='item'> 
     <img src='img/april/page21.jpg' alt='> 
    </div> 
    <div class='item'> 
     <img src='img/april/page22.jpg' alt='> 
    </div> 
    </div> 

    <!-- Controls --> 
    <a class='left carousel-control' href='#carousel-example-generic' data-slide='prev'> 
    <span class='icon-prev'></span> 
    </a> 
    <a class='right carousel-control' href='#carousel-example-generic' data-slide='next'> 
    <span class='icon-next'></span> 
    </a> 
</div> 
</div> 
<div class='col-md-2'> 
</div> 
</center> 
" 
    ); 
}); 


//when I remove what's above, the code below works. 


$('#mayissue').click(function() { 
$('#viewbox').html(
"test2" 
    ); 
}); 
$('#juneissue').click(function() { 
$('#viewbox').html(
"test3" 
    ); 
}); 
$('#julyissue').click(function() { 
$('#viewbox').html(
"test4" 
    ); 
}); 

    }); 
+0

多線串不是在JavaScript支持。 –

+0

你的字符串是無效的,因爲換行符是不允許的,除非被轉義 –

+0

如果你絕對不得不爲了美學目的而保留字符串的換行符,用''blablabla「+' – Banana

回答

4

你不能有多行字符串。

要解決此問題,使用不同的字符串與串聯:

$('#viewbox').html("<div class='row'>" + 
       "<div class='col-md-2'>" + 
       "</div>") //... etc. 
0

你不能有跨多行這樣的一個字符串,得到它的工作方式,你會做這樣的事情

$('#viewbox').html("<div class='row'>" + 
"<div class='col-md-2'>" + ..... 

說了那麼,我會再添加。不要添加這樣的HTML

使用模板或其他任何您發佈的內容。在頁面上創建html並使用css將其標記爲display:none的非常便宜且簡單的方法,然後在JS中重新獲取父對象並傳遞outerHtml。

+0

這不是一個很好的技術,如果目標是動態HTML建設... – ps2goat

+0

我不知道是否「動態HTML建設」意味着創建大量的HTML代碼使用JS ... –

0

寫一個長的多行字符串的好方法是在每行的末尾使用神奇的反斜槓\。 JS,而你,會很高興:

$('#viewbox').html("\ 
    <div class='row'>\ 
    <div class='col-md-2'>\ 
    </div>\ 
    ................ \ 
    <div class='col-md-2'>\ 
    </div>\ 
    </center>\ 
"); 

CONCEPT JSFIDDLE DEMO

相關問題