我正在改变一个论坛网站,该网站显示了许多主题和每个主题的回复。所有线程对不同的部分使用相同的类名
所以我设法用delete()删除它们但我不能做像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 :(得分:0)
因为dom元素没有jQuery提供的html()
或append()
等方法,所以你需要访问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() //
})
答案 1 :(得分:0)
你删除了元素然后用一些新的填充它? delete()
后元素不存在。
好像你不需要这一行
elementi.remove(); < remove works but
只需将内容替换为elementi.html(...
答案 2 :(得分:0)
您无法使用追加功能将文本附加到变量。 这样做:
elementi += x;