2011-06-22 22 views
1
var liHtml = "<div class='slide'><a href='"+itemLink+"' target='_blank' border='0'><img width='420' height='220' src='" + imageLink +"'/></a>" + "<div class="caption" style="bottom:'0'"><p>" + title + "</p></div></div>"; 

螢火蟲給了我這個錯誤的javascript格式錯誤

missing ; before statement 
[Break On This Error] var liHtml = "<div class='slide'><...'"><p>" + title + "</p></div></div>"; 

我失去了什麼。上面的代碼看起來應該像下面

<div class="slide"> 
         <a href="photos/jliba/4665625073/" title="145.365 - Happy Bokeh Thursday" target="_blank"><img src="img/slide-1.jpg" width="570" height="270" alt="Slide 1"></a> 
         <div class="caption" style="bottom:0"> 
          <p>Happy Bokeh Thursday!</p> 
         </div> 
        </div> 
+0

還有報價問題,也有潛在的跨站點腳本安全漏洞,如果任何字符串你傾倒轉換成HTML而不用轉義它們是用戶提交的。使用DOM方法而不是HTML黑客可以避免必須HTML轉義數據的問題。 – bobince

回答

2

更換

"<div class="caption" style="bottom:'0'"><p>"在串聯

"<div class=\"caption\" style=\"bottom:'0'\"><p>" 

即:

var liHtml = "<div class='slide'><a href='"+itemLink+"' target='_blank' border='0'><img width='420' height='220' src='" + imageLink +"'/></a>" + "<div class=\"caption\" style=\"bottom:'0'\"><p>" + title + "</p></div></div>"; 
+0

謝謝。第一次嘗試工作。 –

0

報價錯誤匹配點<div class="caption" style="bottom:'0'"><p>處的字符串。轉義或使用單引號將修復它。

0

您需要避開雙引號。例如:

替換:

.. + "<div class="caption" style="bottom:'0'"><p>" + .. 

有了:

.. + "<div class=\"caption\" style=\"bottom:'0'\"><p>" + .. 
+0

感謝您的輸入。 –