2017-08-03 66 views
-1

我試圖動態地向DOM添加元素來填充搜索結果列表。代碼看起來像JQuery-在DOM中注入元素時保留字符串

for(var i=0; i<length; i++){ 
    console.log(temp[i].CATEGORY); 
    console.log(temp[i].SUBCATEGORY); 
    table = table + '<tr class="search-tr"><td class="search-td"><a href="javascript:void(0)" onClick=window.parent.iframeLink("content-iframe","search-ui.cfm","'+temp[i].CATEGORY+'","d") target="content-window"><span class="subcat">'+temp[i].SUBCATEGORY+'</span><span class="cat"> in '+temp[i].CATEGORY+'</span></a></td></tr>'; 
} 

當我檢查通過所述瀏覽器,其被注入的字符串「臨時[I] .CATEGORY」被認爲是「服務器設置」的元素。相反,它被注入爲「服務器」設置,這是造成一切打破。

我已經做了很多搜索的,但我無法找到任何引用到這個問題。

+1

temp.category和temp.subcategory中的內容 –

+0

您有一個'onClick'屬性值不在引號內。 嘗試'onClick = \'window.parent.iframeLink(「content-iframe」,「search-ui.cfm」,「'+ temp [i] .CATEGORY +'」,「d」)\'' – Titus

+0

生成'temp [i] .CATEGORY'值? – Alexander

回答

1

你有一個的onClick屬性值不加引號。嘗試onClick=\'window.parent.iframeLink("content-iframe","search-‌​ui.cfm","'+temp[i].C‌​ATEGORY+'","d")\'

在HTML中的屬性值需要如果包含空格或引號。鑑於在此情況下,值包含您可以用單引號將其封裝雙引號引起來。

此外,由於您使用單引號構造字符串,因此您需要瀏覽用於封裝屬性值的單引號

+0

所示,標記爲正確的答案,因爲它首先在問題的評論中回答。 –