mootools "это" в каждом? - PullRequest
       5

mootools "это" в каждом?

1 голос
/ 02 ноября 2010

Возможно, недопонимание чего-то простого, но я не могу заставить это работать.

Я хочу: пройти через каждый элемент img в «обертке» и убрать все html из атрибута title (с stripTags () из mootools больше). Я получаю ошибку:

"this.get не является функцией"

вот код:

$('wrapper').getElements('img').each(function() {

    var oldAlt = this.get('title').stripTags();
    this.setProperty('alt', oldAlt);

});

Заранее спасибо

Ответы [ 2 ]

6 голосов
/ 02 ноября 2010
$('wrapper').getElements('img').each(function(el) {
    var oldAlt = el.get('title').stripTags();
    el.setProperty('alt', oldAlt);

});

это не относится к элементу цикла - первый аргумент функции обратного вызова .each element передан, второй - index (в противоположность jquery, где index - первый).

0 голосов
/ 02 ноября 2010

Другой вариант - связать переменную this

$('wrapper').getElements('img').each(function() {

    var oldAlt = this.get('title').stripTags();
    this.setProperty('alt', oldAlt);

}).bind(this);

Экстра .bind(this) в основном означает, что в области видимости внутри каждой функции переменная this связана с любым значением, на которое ссылается снаружи. (как передача переменной в область видимости). Если вам необходимо получить доступ к обычному указателю this, а также к внешней ссылке, вам следует выбрать опцию, например @ Chetan's answer

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...