2012-01-12 116 views
0

比方說,我在我的HTML兩個佔位符:jQuery的佔位符代替

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

,我想1)獲得SKU001和SKU002並把它們放在一個數組由AJAX提交的API 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 2012-01-12 13:17:26

+0

在JS的RegEx中使用'g'標誌時,你只會得到整個匹配。如果文本的位在開始和結束時總是有'[$ ['和'] $]',則可以對每個結果使用'String.slice(3,-3)'來修剪這些位,並獲取部分在中間。 [jQuery.each](http://api.jquery.com/jQuery.each/)可能會派上用場。 – 2012-01-13 00:31:04