[英]How to search specific attribute within a tag and remove it using javascript regex
基本上我有這種標簽(例如)
<div type="text" onclick="event();" onblur="event();">this div has onclick and onblur functions</div>
我想使用參考變量刪除該標簽的某些屬性。
var refAttribs = ['onclick', 'onblur'];
因此,應從refAttribs
刪除所有屬性。 注意不要剝離div的內容。 因為它還包含來自refAttribs
變量的字符串。
如何使用正則表達式擺脫它們? 提前致謝
如前所述,標記是一個字符串,則可以使用以下javascript對其進行修飾。
var refAttribs = ['onclick', 'onblur'];
function remove(tagToClean)
{
var result = tagToClean;
for(var i=0; i<refAttribs.length; i++)
{
regex = new RegExp(refAttribs[i] + "=\"[a-zA-Z\(\);]*?\"", "g");
result = result.replace(regex, "");
}
return result;
}
您可以通過傳入字符串來調用該方法。
remove('<div type="text" onclick="event();" onblur="event();">this div has onclick and onblur functions</div>');
我不確定您要在這里做什么。 您是否要修改DOM? 如果是這樣,您將需要修改方法以接受DOM節點的句柄。 多一點信息會有所幫助。
好吧,試試這個:
要刪除onclick,正則表達式將為:
(<[^>]+)\s+onclick\s*=[\'"].*?[\'"]
removeAttr函數:
function removeAttr(html, attr) {
return html.replace(new RegExp('(<[^>]+)\\s+' + attr + '\\s*=[\'"].*?[\'"]', 'gi'), '$1');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.