2013-04-10 16 views
-2

前段時間我要求幫助自動更改某些我的網站重複的名稱,並使他們斜體。有了您的幫助,我能夠做到什麼,我想利用這個腳本:html標記或類與特定的單詞與Javascript或jquery,沒有針對alts和圖片的標題

function change() { 
    var words = new Array("Nymphaea", "Nelumbo", "Iris", "Hemerocallis", "Hibiscus"); 
    var html = document.body.innerHTML; 
    for(var i = 0; i < words.length; i++) { 
     var reg = new RegExp(words[i], 'g'); 
     var html = html.replace(reg, "<i>"+words[i]+"</i>"); 
    } 
    document.body.innerHTML = html; 
} 
change(); 

可惜我才意識到我仍然有一個問題,因爲所有的圖片顯示有標籤的標題。例如,如果HTML是:

<a href="......../nymphaea-alba-var-rubra.jpg" title="&lt;i&gt;Nymphaea&lt;/i&gt; alba var. rubra"><img src="/wp-uploads/gallery/nursery/nymphaea-alba-var-rubra.th.jpg" alt="&lt;i&gt;Nymphaea...&lt;/i&gt; alba var. rubra" /> </a> 

圖爲等< I>睡蓮</i>的白變種的標題。楊梅。任何人都可以幫助我改進代碼,以使Titles和Alts不被定位?我會很感激。

在此先感謝

恩里科

回答

0

您可以在修改HTML運行一個正則表達式的標題和alt屬性刪除任何斜體標籤,就像這樣:

function change() { 
    var words = new Array("Nymphaea", "Nelumbo", "Iris", "Hemerocallis", "Hibiscus"); 
    var html = document.body.innerHTML; 
    for(var i = 0; i < words.length; i++) { 
     var reg = new RegExp(words[i], 'g'); 
     var html = html.replace(reg, "<i>"+words[i]+"</i>"); 
    } 
    html = html.replace(/([title|alt]=".*?)<i>(.*?)<\/i>(.*?")/gm, '$1$2$3'); 
    document.body.innerHTML = html; 
} 
change(); 
+0

太好了!非常感謝Matt,你解決了我的問題!!!!! :-) – 2013-04-21 16:31:44

+0

很酷。你能提出我的答案嗎? :) – 2013-04-21 23:00:54

+0

似乎我不能導致我沒有15名聲譽,我很抱歉馬特:( – 2013-04-22 13:13:16

相關問題