this.innerHTML в Prototype - PullRequest
       28

this.innerHTML в Prototype

3 голосов
/ 03 сентября 2011

Фрагмент кода js, который выглядит следующим образом:

function currency_change(value) {

  // change all currencies on the page
  $$('label.currency').each(function() {

    this.innerHTML = value;

  });
  alert(value);

}

Я знаю, value правильно, и я знаю, что перебираю каждый класс label.currency, но я не могу изменитьinnerHTML значения этих элементов.

Я погуглил как сумасшедший, но не могу понять, как это сделать.Я подозреваю, что что-то не так с this.

Ответы [ 2 ]

4 голосов
/ 03 сентября 2011

Попробуйте это:

$$('label.currency').each(function(element) {
    element.update(value);
});
2 голосов
/ 12 декабря 2014
$$('label.currency').invoke('update',value);

IE показывает очень низкую производительность при замене сложных деревьев DOM.В таких случаях удалите внутренний DOM перед обновлением:

$$('label.currency').invoke('childElements').invoke('invoke','remove');

Если это один элемент, вы можете сказать:

$('elementID').childElements().invoke('remove');
...