2016-08-03 12 views
-2

特定の文字列を含むすべてのタグを削除する必要があります どうすればJavaScriptでこれを行うことができますか?特定の文字列が含まれている場合、リンクタグを削除します - javascript

これは文字列です

<link rel="stylesheet" href="https://REMOVEME"> 
<link rel="stylesheet" href="https://ccc"> 
<link rel="stylesheet" href="https://abc/REMOVEME"> 
<div>yes</div> 

この結果

<link rel="stylesheet" href="https://ccc"> 
<div>yes</div> 
+1

をあなたはjQueryのを使用していますか? –

+0

いいえ、どうすればいいですか? – eeadev

+1

'document.querySelectAll()'を使ってすべての 'link'タグを探します。それらをループし、探している文字列が 'href'属性に含まれている場合は削除します。 – Barmar

答えて

0

このようなタスクはnot done with regular expressions優れています。

代わりにこのES6機能付きインスタンスのためには、JavaScriptが利用可能なDOMインタフェースを使用します。

function removeLinks(html, match) { 
 
    var container = document.createElement('span'); 
 
    container.innerHTML = html; 
 
    Array.from(container.querySelectorAll('link[href*=' + CSS.escape(match) + ']')) 
 
     .forEach(link => link.parentNode.removeChild(link)); 
 
    return container.innerHTML; 
 
} 
 

 
// Sample input 
 
var html = '<link rel="stylesheet" href="https://REMOVEME">' + 
 
      '<link rel="stylesheet" href="https://ccc">' + 
 
      '<link rel="stylesheet" href="https://abc/REMOVEME">' + 
 
      '<div>yes</div>'; 
 

 
// Remove links that match REMOVEME 
 
html = removeLinks(html, 'REMOVEME'); 
 

 
// Output result 
 
console.log(html);

0
htmlString.replace(/<link[^>]*href="[^>]*REMOVEME[^>]*"[^>]*>/gi,'') 
関連する問題