Kost-iv,
<html>
<head>
<meta http-equiv="Content-Language" content="ru">
<meta charset="utf-8">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Замена тегов</title>
<style>
.bold{font-weight:bold;}
.italic{font-style:italic;}
.underline{text-decoration:underline;}
.striked{text-decoration:line-through;}
span{
color: red;
}
span span{
color: rgba(0, 128, 0, 1);
}
</style>
<script>
function startFormat(){
replaceTag("b");
replaceTag("i");
replaceTag("u");
replaceTag("s");
}
function replaceTag(tag){
var tags = document.body.getElementsByTagName(tag);//поиск тегов
var tagLen = tags.length;
var i=0, j=0;
for (;tags[0];){//перебор найденных тегов
var span = document.createElement('span');//создаем новый тег
if (tags[0].childNodes.length) {//если есть потомки у тега
var list = tags[0].childNodes;
for (; list[0]; ){//добавляем потомков к новому тегу
span.appendChild(list[0]);
}
}
tags[0].parentNode.replaceChild(span,tags[0]); //заменяем тег
switch(tag) {//применение стиля в зависимости от тега
case "b":
span.setAttribute("class","bold");
break;
case "i":
span.setAttribute("class","italic");
break;
case "u":
span.setAttribute("class","underline");
break;
case "s":
span.setAttribute("class","striked");
break;
}
}
}
</script>
</head>
<body>Текст для проверки, а вот и <b>проверка и <b>подпроверка</b></b> <i>проверка<b>2</b></i> и <u>проверка3</u> и <s>проверка4</s> а теперь нет <b>проверки</b>.<p><input name="Button" type="button" value="Форматировать" onclick="startFormat()"></p></body>
</html>