removeAttribute is not a function
function opening() { var bags = document.getElementsByClassName('close'); for (var i=0; i < bags.length; i++) { bags[i].onclick = task; } } function task(e) { var imNum = e.id; e.removeAttribute('src'); e.setAttribute('src', imNum + "open.png"); } при выполнении данного кода консоль выдает ошибку e.removeAttribute is not a function. в чем именно проблема |
strange.tany,
почему вы решили что у обьекта event есть свойство removeAttribute или setAttribute или id? может поискать элемент на котором произошло событие |
рони,
<img class='close' id='1' src='1.png'> <img class='close' id='2' src='2.png'> <img class='close' id='3' src='3.png'> <img class='close' id='4' src='4.png'> по идее на этих элементах происходит событие |
strange.tany,
вам элемент нужен либо из event, либо из bags - то и другое одинаково. читайте про event это проще, хотя в bags он уже есть, но вам похоже это будет сложнее. |
рони,
спасибо. Сделала через event и вроде сейчас все нормально пошло |
strange.tany,
window.addEventListener('DOMContentLoaded', function() { [].forEach.call(document.querySelectorAll('.close'), function(item) { item.addEventListener('click', function(event) { item.src = item.id + 'open.png'; }); }); }); или function task(e) { var item = e.target; item.src = item.id + 'open.png'; } |
Часовой пояс GMT +3, время: 16:13. |