Как мне найти конкретные слова в элементах с конкретными классами с помощью Javascript / jQuery? - PullRequest
0 голосов
/ 08 февраля 2011

У меня есть класс для DIV, который называется .post, и я хотел бы найти слова внутри этого элемента и заменить их чем-то другим.Эти слова также не должны быть внутри элементов других классов (.tiptrig и .postheader).

Я бы очень хотел этого добиться, но не знаю как ... Я новичок в Javascript и особенно в jQuery.

1 Ответ

4 голосов
/ 08 февраля 2011

Похоже, легкое задание.

$('.post').each(function() {
    $(this).html(function(index, html) {
        return html.replace(/THEWORD/g, 'something else');
    });
});

Это будет повторять все узлы, которым принадлежит класс .post, и заменить слово THEWORD на что-то еще . Имейте в виду, что его тоже опасно, потому что вы также можете изменить имена тегов HTML, например. Так что это имеет смысл, только если вы хотите добавить / изменить HTML-код.

демо : http://www.jsfiddle.net/XGuGy/

Вероятно, лучшая идея для доступа к text():

$('.post').each(function() {
    var $this = $(this);

    if( !$this.closest('.postheader').length && !$this.closest('.tiptrig ').length ) {
         $this.text(function(index, text) {
            return text.replace(/you/g, 'you fool');
         });
    }
});

демо : http://www.jsfiddle.net/XGuGy/1/

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