利用Javascript,自製清理網頁元素工具

相信不少的網頁工作者,都會有類似的經驗,尤其是在需要重新整理網頁內容,或是重構網站時,看到一堆過去的網頁程式碼,元素其中不乏各種css,class,id,甚至是bgcolor,width一類的行內屬性,這時就可以利用這個工具來清理掉這些元素屬性,還原成最乾淨的html網頁程式碼。
不過,先提醒一下,此工具並沒有特別處理例外,例如說img的src屬性也是一併會被清除的。
直接來看程式碼(重點執行清除功能的是藍字的程式部分):
<html>
<head>
<title></title>
<style type="text/css">
#dest{
border: solid black 1px;
min-width: 100px;
min-height: 100px;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$('#process').click(function(){
var source_code = $('#source').val();
$('#dest').html($(source_code));
$('#dest *').each(function(){
var attributes = $.map(this.attributes, function(item) {
return item.name;
});
var obj = $(this);
$.each(attributes, function(i, item){
obj.removeAttr(item);
})
})
})
})
</script>
</head>
<body>
Source code :
<br>
<textarea id="source"></textarea>
<br>
<br>
<input id="process" type="button" value="remove attr">
<br>
<br>
Display :
<br>
<div id="dest"></div>
</body>
</html>
以上程式碼只要複製存檔成html,然後用瀏覽器開啟這個html檔案(直接按住html檔案拉到瀏覽器上放開),就可以執行了,執行起來就會像下面的gif動畫,再用檢查元素,複製你想要的程式碼部分即可。
補充說明:這個功能不論你放入多少的程式碼,只要html程式碼的頭尾完整,多少的程式碼都可以一次清除乾淨。
參考資源:
http://stackoverflow.com/questions/1870441/remove-all-attributes


我要留言