2013-04-18 55 views
-1
for (i = 0; i < cRowCount/5; i++) { 
    link = $('<a/>').attr({ 
     href : '#', 
     id : $(this).attr('id') + (i + 1), 
     class: 'myLink' 
    }); 

    $(this).append(link + "&nbsp;"); 
} 

當我將鏈接追加到我的組件時,它沒有給我鏈接。相反,它顯示以下的事情,沒有超鏈接。使用jquery在html中動態添加超鏈接

[object Object] [object Object] [object Object] 
+3

你concat對象和字符串。結果是字符串「[object Object]」。刪除「+」 「 –

+3

另外,使用'var link'!否則,你創建單位化的全局變量,這會在同時循環運行時造成很大的麻煩 –

回答

2

這一行$(this).append(link + "&nbsp;");這條線的對象轉換爲字符串的問題,因爲你是用繩子

追加對象,你可以做到這一點

HTML

<div>abc 
</div> 

代碼追加

for (i = 0; i < 10/5; i++) { 
    link = $('<a/>').attr({ 
    href : '#', 
    id : $(this).attr('id') + (i + 1), 
    class: 'myLink' 
    }); 
    link.html(i); 

$("div").append(link); 
    $("div").html($("div").html() + "&nbsp;"); 
} 

JsFiddle DEMO

+0

實際上我不能在頁面中添加一個新的div元素。 –

+0

@RachitMGarg - 實際上它只是一個例子,你如何做到這一點,並消除你得到的錯誤....我認爲你需要接受正確的答覆和理解答案中給出的東西。 –

1

原因是它返回1個元素的數組。試試$(this).append(link[0] + "&nbsp;");

+0

感謝您的快速回復 –