2012-01-20 8 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の例です。私は '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. 

は今すぐにSRC属性を言います。私が最初にそうのようなDOM要素になるだろう:で何を取得するために今すぐ

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

属性私はこれが戻ってくるdomObject.getAttribute('src') を使用したいと述べ、「JavaScriptを:警告( 『!のHello World』)」

最後に私はすべてを一緒に持ち、単に私が探しているものを検出し、それを空にする機能を持っています。

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

あなたがすでに確認したい属性を既に知っているかどうかは不明ですので、すでに知っているかどうかに応じて2つの解決策を提示します。 あなたがキーワードを検索したい属性を知っている場合は、これを試してみてください。

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

を使用すると、属性名がわからない場合は、その変数にHTMLを格納し、変数の値で比較します。 imgタグの親であることを、次のdivを仮定:

<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", ""); 
} 
関連する問題