Есть ли способ «найти и заменить заполнить» HTML с JQuery? - PullRequest
0 голосов
/ 25 августа 2010

Просто маленький вопрос. Скажем, у меня есть следующий HTML:

<div class="foo">
    {text}
</div>

Теперь у нас также есть массив JS с 10 записями, все с ключом 'text'. Я хочу использовать приведенный выше фрагмент в качестве шаблона (фрагмент находится на веб-странице, поддерживающей jQuery) для массива. Вход в массив идет, HTML выходит. Вот сложная часть: я хочу заменить {текст} текстовым ключом из массива.

И все с JQuery, конечно ;-).

С уважением,

Reinder

1 Ответ

1 голос
/ 25 августа 2010

Попробуйте: http://jsfiddle.net/WZ2Vk/

(требуется jQuery 1.4 или более поздняя версия)

var newText = {
    text: "some new text",
    othertext: "some other new text"
}

$('div.foo').text(function(i,txt) {
    var key = txt.match(/\{([^}]+)\}/)[1];
    return newText[key];
});

Вы не указали структуру массива, но я предполагаю, что вы используете его более подходящим образом для объекта. В приведенном выше примере я использовал Object вместо Array. Будет отлично работать с массивом.

Тот же пример, но с массивом: http://jsfiddle.net/WZ2Vk/1/

Если вы заменяете фактическим содержанием HTML, измените .text() на .html().

http://jsfiddle.net/WZ2Vk/2/

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