2012-01-12 2 views
0

Скажем, у меня есть два заполнителей в моем HTML:JQuery заполнители замена

[$[SKU001]$] 
[$[SKU002]$] 

, и я хотел бы 1) получить SKU001 и SKU002 и поместить их в массив, который будет представлен Аякса АНИ 2) заменить оба заполнители, давайте скажем, тег изображения, полученного ответа API:

<img src="SKU001.jpg"> 
<img src="SKU002.jpg"> 

Я хотел бы, чтобы достичь этого с помощью JQuery и его метод фильтра/матч. Возможно ли это?

Я пытаюсь напечатать это:

var pattern = /\[\$\[(.*?)\]\$\]/; 
var t = $('body').filter(function() { 
    return this.??.match(pattern); 
}); 

console.log(t); 

, но я не в состоянии получить искомый параметр в моем шаблоне.

Спасибо.

ответ

0

.filter() способ не работает так же. Он предназначен для фильтрации элементов DOM, а не содержимого страницы.

То, что вы хотите сделать, это, вероятно, больше в направлении:

var matches = $('body').text().match(/\[\$\[(.*?)\]\$\]/) 
console.log(matches); 
+0

Это хорошо! Добавив «/ g» в конце шаблона, он также может искать глобально. Но как достичь массива «SKU001», «SKU002»? Используя фактический шаблон, он производит ["[$ [SKU001] $]", "[$ [SKU002] $]"]. – redbaron76

+0

Это компромисс, который вы получите только при использовании флага 'g' с реестром JS. Если бит текста всегда будет иметь [[$ ['и'] $] 'в начале и конце, вы можете использовать' String.slice (3, -3) 'для каждого результата, чтобы обрезать эти биты и получить часть посередине. [jQuery.each] (http://api.jquery.com/jQuery.each/) может пригодиться для этого. –

 Смежные вопросы

  • Нет связанных вопросов^_^