Не работает 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>
|
Цитата:
Может слов displa y ??? И попробуй не через Name, а через Class вывести функцию |
Цитата:
|
Цитата:
<img src="pictures/husk.jpg"id="JPG3" name ="NameJPG"> Вот это: <img src="pictures/husk.jpg"id="JPG3" class="NameJPG"> И в функции замени document.getElementsByName на document.getElementsByClassname |
Мб так?
document.getElementsByName('NameJPG')[0]
|
Цитата:
document.getElementsByName("NameJPG")[0].tagName; хз |
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";
}
}
|
спасибо, понял. А можно как-то в одну строку использовать все элементы имеющие одинаковый id/class/name?
|
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";
}
}
}
|
или так:
var imgs = document.querySelectorAll("[name=NameJPG]");
for (var i = 0, len = imgs.length; i < len; i++) {
imgs[i].style.display = "none";
}
|
а если подключить jQuery, то можно так:
$(function() {
document.getElementById("JPG1").onmouseover = function() {
$("[name=NameJPG]").each( function(n, item) { item.style.display = "none"; } );
}
});
|
Keramet, ты издеваешься?
$(function() {
$('#JPG1').on('mouseover', '[name=NameJPG]', function() {
$(this).hide();
});
});
|
Decode,
молодец :write: согласен, твой вариант круче. а на что указывает this вот тут? $(this).hide(); |
Keramet,
<ul class="list">
<li class="item">1</li>
<li class="item">2</li>
<li class="item">3</li>
<li class="item">4</li>
<li class="item">5</li>
</ul>
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<script>
$(function() {
$('.list').on('mouseover', '.item', function() {
$(this).hide();
console.log($(this));
});
});
</script>
|
Decode,
понял, спс |
У меня в консоли выдало:
<ul class="list">
<li class="item">1</li>
<li class="item">2</li>
<li class="item">3</li>
<li class="item">4</li>
<li class="item">5</li>
</ul>
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<script>
$(function() {
$('.list').on('mouseover', '.item', function() {
$(this).hide();
console.log($(this));
});
});
</script>
|
Keramet, на <li>.
|
| Часовой пояс GMT +3, время: 17:00. |