2014-01-11 76 views
0

即時更改論壇網站,顯示許多線程和每個答覆。所有線程使用相同的類名稱的不同部分jquery獲取元素,使它們變量並更改其內容

,所以我的管理符合刪除()來刪除它們,但我不能做的事情,如HTML()和append()

var elements = document.getElementsByClassName(classo); 
for (var n = elements.length; n--> 0;) 
    { 
     var elementi = elements[n]; 

     elementi.remove(); < remove works but 
     elementi.html(... 
    and elementi.append(... < these 2 dont 



    } 

什麼想法?在此先感謝

PS: 我不使用elementi.remove();當試圖編輯。

回答

0

因爲jQuery的提供像html()append()這些方法的DOM元素不具備的,所以你需要訪問DOM元素引用的jQuery的包裝對象來訪問這些方法

//use class selector to get the methods 
var elements = $('.' + classo); 
//use .each() from jQuery to iterate through the elements 
elements.each(function() { 
    //gets the jQuery wrapper object for the current dom element 
    var elementi = $(this); 

    elementi.remove(); < remove works but 
    //all jQuery methods can be called on elementi 
    elementi.html() // 
    elementi.append() // 
}) 
+0

現在..到「訪問DOM元素的引用的jQuery的包裝對象」 ......嗯..我是一個菜鳥 – soric

0

您刪除元素然後填寫一些新的?元素在delete()之後不存在。 似乎你不需要這行

elementi.remove(); < remove works but 

只需更換內容與elementi.html(...

0

不能添加文字變量與附加功能。 像這樣做:

elementi += x; 
+0

ELEMENTI + =」 .append(‘東西’)? 「; ? – soric

+0

x是您想添加到elementi變量的內容。 ELEMENTI + =東西; – tilda

+0

看看這個小提琴。可能這會幫助你,因爲我不確定你想要什麼。 http://jsfiddle.net/XkyH7/ – tilda

相關問題