С помощью функции multiStyler меняется класс "родных" элементов документа html, но на внедренный с помощью JS H4 она не действует. Хотя его атрибут name = "sp". Шо за такое?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<TITLE>JS BASICS</TITLE>
<LINK rel = "stylesheet" type = "text/css" href = "style.css" </LINK>
</HEAD>
<BODY>
<script type = "text/javascript">
var h4 = document.createElement("H4");
h4.className = 'class1';
h4.name = 'sp';
document.body.appendChild (h4);
h4.appendChild(document.createTextNode('Header4'));
function multiStyler (name) {
var elts = document.getElementsByName(name);
for (var i = 0; i < elts.length; i ++) {
if (elts[i].className == "class1") {
elts[i].className = "class2"
}
else {elts[i].className = "class1"}
}
}
window.onload = function() {
document.getElementById("st").onclick = function( ){multiStyler("sp");};
}
</script>
<pre>
<span name = "sp" class = "class1">aaaaa</span>
<label name = "sp" class = "class1">aaaaa</label>
<em name = "sp" class = "class1">aaaaa</em>
</pre>
<input type = "button" id = "st" value = "Change a style">
</BODY>
</HTML>