Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не работает getElementsByName (https://javascript.ru/forum/misc/60624-ne-rabotaet-getelementsbyname.html)

Anton6677 11.01.2016 20:01

Не работает getElementsByName
 
Что я делаю не так?(
<html>
<head>
<title>
111
</title>
 <script>
     window.onload = function() {
         var a = document.getElementById("JPG1")
         a.onmouseover = function() {
         document.getElementsByName('NameJPG').style.display="none";
        }
    }
    </script>
    
</head>
  <body>
        <img src="pictures/alk.jpg" id="JPG1">
      <img src="pictures/Clinkz.jpg" id="JPG2" name="NameJPG">
      <img src="pictures/husk.jpg"id="JPG3" name ="NameJPG">
    </body>
</html>

kimxan 11.01.2016 20:05

Цитата:

Сообщение от Anton6677 (Сообщение 403315)
Что я делаю не так?(
[i]

document.getElementsByName('NameJPG').style.displa y="none";

Может слов displa y ???

И попробуй не через Name, а через Class вывести функцию

Anton6677 11.01.2016 20:06

Цитата:

Сообщение от kimxan (Сообщение 403316)
document.getElementsByName('NameJPG').style.displa y="none";

Может слов displa y ???

нет. это тут косячно отображается. видел это и проверял

kimxan 11.01.2016 20:09

Цитата:

Сообщение от Anton6677 (Сообщение 403317)
нет. это тут косячно отображается. видел это и проверял

Вместо этого:
<img src="pictures/husk.jpg"id="JPG3" name ="NameJPG">

Вот это:
<img src="pictures/husk.jpg"id="JPG3" class="NameJPG">

И в функции замени document.getElementsByName на document.getElementsByClassname

Decode 11.01.2016 20:10

Мб так?
document.getElementsByName('NameJPG')[0]

kimxan 11.01.2016 20:12

Цитата:

Сообщение от Decode (Сообщение 403319)
Мб так?
document.getElementsByName('NameJPG')[0]

или так...
document.getElementsByName("NameJPG")[0].tagName;

хз

Keramet 11.01.2016 20:32

window.onload = function() {
			var a = document.getElementById("JPG1")
			a.onmouseover = function() {
				document.getElementsByName('NameJPG')[0].style.display = "none";
				document.getElementsByName('NameJPG')[1].style.display = "none";
			}
		}

Anton6677 11.01.2016 20:36

спасибо, понял. А можно как-то в одну строку использовать все элементы имеющие одинаковый id/class/name?

Keramet 11.01.2016 20:49

window.onload = function() {
			var a = document.getElementById("JPG1")
			a.onmouseover = function() {
				var imgs = document.getElementsByName('NameJPG');
				for (var i = 0, len = imgs.length; i < len; i++) {
					imgs[i].style.display = "none";
				}
			}
		}

Keramet 11.01.2016 20:51

или так:
var imgs = document.querySelectorAll("[name=NameJPG]");
				for (var i = 0, len = imgs.length; i < len; i++) {
					imgs[i].style.display = "none";
				}


Часовой пояс GMT +3, время: 23:08.