2011-06-06 123 views
-3
$.each(['a'], function(){$('<a/>').text(this).appendTo('body');}); 

=> Firefox和Chrome告訴我, 'appendTo' 不是一個函數...有人能告訴我爲什麼它失敗了嗎?

+0

你能告訴某人你正在做什麼嗎? – pixeline 2011-06-06 21:43:55

+0

預期結果:追加' a'到正文 – 2011-06-06 21:47:33

+0

是的,我想這是你的第一個q。在筆記回答之前,您是否回答了問題? – 2011-06-06 21:51:05

回答

1

您可以使用:

$.each(['a'], function(idx, elem){$('<a/>').text(elem).appendTo('body');}); 

甚至更​​好,只使用一個for循環:

var elements = ['a']; 
for (var i in elements) { 
    $('<a/>').text(elements[i]).appendTo('body'); 
} 

它既是更容易閱讀和更快的執行。

+0

是的,的確,但'this'應該是當前的字符串,對不對?或者,也許它只適用於舊版本的jQuery ... – 2011-06-06 21:45:31

+0

要看看會發生什麼,請嘗試運行:'$ .each(['a'],function(){console.log(this);});' – rid 2011-06-06 21:47:55

+0

我已經做到了這一點。並且firefox記錄一個字符串。這就是爲什麼我不明白... – 2011-06-06 21:51:07

0

$('<a/>')這應該是$('a')

+0

他沒有抓住一個元素,他正在創造一個... – 2011-06-06 21:38:52

0

不將text函數返回一個字符串對象,而不是一個jQuery目的?

0

.text()是一個設置文本的函數,但我不認爲你可以將它鏈接在一起。嘗試打開了該行:

$('a').each(function() { 
    var a = $('<a/>'); 
    a.text($(this)); 
    $('body').append(a); 
}); 
0

你想做什麼?

也許更像? $('a')。each(function(){$('body')。append('')});

相關問題