Показать сообщение отдельно
  #1 (permalink)  
Старый 20.04.2015, 13:28
Аспирант
Отправить личное сообщение для Ramundo Посмотреть профиль Найти все сообщения от Ramundo
 
Регистрация: 07.03.2015
Сообщений: 47

element.name не срабатывает.
С помощью функции 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>
Ответить с цитированием