2016-06-08 94 views
0

所以我有這樣的:隱藏/刪除字符串使用jQuery

jQuery('.amount').each(function() { 
    console.log(jQuery(this).text()); 
    var text = jQuery(this).text().replace("Gratuit !", " "); 
    jQuery(this).text(text); 
}); 

它正常工作與其他元素,但不是這一個。控制檯返回正確數量的其他字符串,但似乎無法得到「Gratuit!」的數量!模式中的字符串,但其他字符串也是如此。

http://www.taomedecine.com/#seminaires
這是快速查看「計時針灸」產品。

+0

「chrono鍼灸」產品似乎沒有該標籤'.amount' – Filipe

+0

它的確如此。這是包含模態中產品價格的跨度類別。 – Zac

回答

1

這是因爲你調用該函數之前在頁面上存在.amount元素。您的模式可能會異步加載其內容(包含.amount元素)

如果你看一下控制檯當您加載您鏈接到頁面上,你可以看到它不CONSOLE.LOG()的任何東西:

console.log(jQuery(this).text()); 

這給你一個線索,那就是.each(),循環項目。

因此,你應該叫後的模型內容已經被加載你提到的功能,在它的回調函數假設它提供了一個。

+0

事情是它使用.amount選擇器循環「5,00€」項目,並且此價格也在模式中。這就是爲什麼我很困惑。它不適用於該字符串。 – Zac

+0

當它加載時,它們已經存在於頁面上,如果您在頁面上查看源代碼並搜索class =「amount」,它只會顯示這些內容。它沒有字符串'Gratuit!'頁面上的任何位置。 – JohnnyFaldo

+0

該死的你是對的。恐怕我不能僅僅編輯woocommerce插件代碼以防客戶端進行更新。它會清除該功能。 – Zac