JQuery получить элементы, сделать их переменными и изменить их содержимое

0

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(); при попытке редактирования.

Теги:

3 ответа

0

Поскольку элементы 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() //
})
  • 0
    сейчас .. чтобы "получить доступ к объекту-оболочке jQuery из ссылки на элемент dom" ... хмм? .. я нуб
0

Вы не можете добавлять текст в переменную с помощью функции добавления. Делай это так:

elementi += x;
  • 0
    elementi + = ".append ('stuff')"; ?
  • 0
    x - это контент, который вы хотите добавить в переменную elementi. Elementi + = материал;
Показать ещё 1 комментарий
0

Вы удаляете элемент, а затем заполняете его каким-то новым? Элемент отсутствует после delete(). кажется вам не нужна эта линия

elementi.remove(); < remove works but 

просто замените контент на elementi.html(...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню