singlepost

Смена рисунка javasсript << На главную или назад  

Мне необходимо при нажатии мыши менять изображения, данные изображения выводятся в цикле
<c:forEach items="${hotels}" var="hotel">
<img src="../images/elites.png" alt="Добавить в избранное" title="Добавить в избранное" id="img" onclick="addInFavoriteHotels(${hotel.ID});" onmousedown="change(this.id);"/>
</c:forEach>

вот функция
function change(id){
var el = document.getElementById(id);
if (el.src.indexOf("elites.png")>0){
el.src="../images/elites2.png";
}
else{
el.src="../images/elites.png";
}
}

при нажатии меняется только первое изображение. Как сделать чтобы менялось именно то изображение, на котором кликаю?

58 ответов в теме “Смена рисунка javasсript”

  1. 5
    Владимир Лошаков ответил:

    Кто знает, почему при повторном клике данная функция не выполняется?

    function addInFavoriteHotels(hotelId){
    var params = '?hotelId=' + hotelId;
    new Ajax.Request('favoriteHotels', { method:'get' , parameters:params});
    }

    не переходит по url 'favoriteHotels'
    один раз срабатывает и все

  2. 4
    Антон Щиров ответил:

    img.parentNode.removeChild(img) (или parentElement – не помню)

    P.S. Согласно спецификации W3C значение атрибута id должно быть уникальным в пределах всей страницы

  3. 3
    Владимир Лошаков ответил:

    а как при клике мышки удалить этот элемент со страницы?

  4. 2
    Владимир Лошаков ответил:

    спасибо большое, заработало)))

  5. 1
    Владимир Муромский ответил:

    не проще ли вместо onmousedown="change(this.id)" написать "change(tihs)", а в скрипте el = id?

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.