im изменяя сайт форума, который показывает много потоков и некоторые ответы для каждого из них. все потоки используют одинаковые имена классов для разных частей
поэтому мне удалось удалить их с помощью 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(); при попытке редактирования.
Поскольку элементы dom не имеют таких методов, как html()
или append()
которые предоставляются jQuery, поэтому вам нужно получить доступ к объекту оболочки jQuery ссылки элемента dom, чтобы получить доступ к этим методам
//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() //
})
Вы не можете добавлять текст в переменную с помощью функции добавления. Делай это так:
elementi += x;
Вы удаляете элемент, а затем заполняете его каким-то новым? Элемент отсутствует после delete()
. кажется вам не нужна эта линия
elementi.remove(); < remove works but
просто замените контент на elementi.html(...