|
|
|
| В коде встречаются классы, стили и идентификаторы, котрыми задается шрифт. Но есть среди них случаи, когда строка текста имеет вид
Как сделать JS, чтобы все строки вида
в браузере превращались в
<p class="tema"> TEXT </p>
|
При этом другие способы задания шрифта меняться не должны.
Попробовал так, но не заработало:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Варианты верстки</title>
<style>
.tema {font-size:24px; color:#06F; }
.tema_dva {font-size:50px; }
#try {color:#F36;}
</style>
<script>
var ps = document.getElementsByTagName("p")
for(var i = 0; i < ps.length; i++)
if(ps[i].getAttribute("class") == "")
ps[i].setAttribute("class","tema");
</script>
</head>
<body>
<p>Класс подставлется скриптом 1</p>
<p>Класс подставлется скриптом 2</p>
<p>Класс подставлется скриптом 3</p>
<p class="tema">Класс прописан в строке (для сравнения)</p>
<p class="tema_dva">Класс не подлежит замене</p>
<p id="try">КLАСС задан идентификатором</p>
<p style="color:#6F0">Стиль задан в тексте</p>
</body>
|
| |
|
|
|
|
|
|
|
для: Владимир55
(03.12.2013 в 21:59)
| | Во первых - ошибки.
надо так:
var ps = document.getElementsByTagName("p") ;
for(var i = 0; i < ps.length; i++)
{
if(ps[i].getAttribute("class") == null)
ps[i].setAttribute("class","tema");
}
|
во вторых - скрипт срабатывает до загрузки документа
надо его оформить функцией и повесить на событие onload тега body например
<script>
function B_onLoad()
{
var ps = document.getElementsByTagName("p");
for(var i = 0; i < ps.length; i++)
{
if(ps[i].getAttribute("class") == null)
ps[i].setAttribute("class","tema");
}
}
</script>
</head>
<body onload = "B_onLoad();">
|
| |
|
|
|
|
|
|
|
для: btr
(03.12.2013 в 23:17)
| | можно не оформлять функцией, запуская по онлоад, а просто поместить в конец страницы | |
|
|
|