2012-01-20 57 views
0

我需要做的是在HTML中查找特定的字符串,如果發現我將其替換爲無。查找HTML標記中的特定關鍵字並使用jquery替換

經驗:

HTML:

<img src=`javascript:alert("hello ,world!")`> 

什麼,我需要做的就是找到像JavaScript,警報等一些關鍵字的發生,如果發現HTML標記內像一個上面我需要用空字符串替換它。

我知道jQuery有像

.find(),.replace(一些有用的功能)和:含有

但我真的無法弄清楚如何做到這一點,因爲我在JavaScript中不是那麼好。

幫助將不勝感激。

+1

爲什麼在客戶端而不是在服務器(後端)上使用PHP來完成?你想要做什麼,通過JS解析HTML內容... – feeela

+0

希望你需要所有這些發生在你的開發階段,而不是在運行時! – hop

+0

http://stackoverflow.com/questions/8342298/how-to-find-replace-html-with-javascript – hop

回答

1

你在做什麼甚至沒有一些真正需要jQuery來輕鬆完成。以下是純JavaScript中的一個示例。

HTML

<a id="someLink" src="javascript:alert('hello world!')">LINK THAT DOES STUFF</a> 
//how an image tag can have a JS src is beyond me. 

現在,如果我想看看像'的JavaScript中的關鍵字,說SRC屬性。我首先得到的DOM元素,像這樣:

var domObject=document.getElementByID('someLink') 
/*$('someLink') is jQuery equivalent*/ 

我們得到什麼在所述屬性我會用domObject.getAttribute('src') 將返回「的javascript:(‘!你好世界’)警報」

最後我會有一個把所有東西放在一起的功能,並簡單地檢測我在找什麼並清空它。

function getRidofJavascriptInSrc(object){ 
     a=object.getAttribute('src'); 
     if(/javascript/i.test(a)) //this is REGEX, it will look for the keyword JavaScript and run statement if true 
     {object.setAttribute('src')=""} 
    } 
    getRidofJavascriptInSrc($('someLink')); 
1

從你的問題中不清楚你是否已經知道你想檢查的屬性,所以我會給出兩個解決方案 - 取決於你是否已經知道。 如果你知道你要搜索的關鍵字屬性,試試這個:

var attribVal = $("img").attr("src"); 
if (attribVal.match(/(javascript)|(alert)/i) 
{ 
    $("img").attr("src", ""); 
} 

如果你不知道屬性的名稱,然後將HTML保存在一個變量和變量的值進行比較。假設下面的div是img標籤父:

<div id="myDiv"> 
    <img src=`javascript:alert("hello ,world!")` id='myImg'> 
</div> 

執行以下操作:

var myVar = $("#myDiv").html(); 
if (attribVal.match(/(javascript)|(alert)/i) 
{ 
    $("img#myImg").attr("src", ""); 
} 
相關問題