Мне необходимо при нажатии мыши менять изображения, данные изображения выводятся в цикле
<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";
}
}
при нажатии меняется только первое изображение. Как сделать чтобы менялось именно то изображение, на котором кликаю?
16 марта 2009 в 13:00
Кто знает, почему при повторном клике данная функция не выполняется?
function addInFavoriteHotels(hotelId){
var params = '?hotelId=' + hotelId;
new Ajax.Request('favoriteHotels', { method:'get' , parameters:params});
}
не переходит по url 'favoriteHotels'
один раз срабатывает и все
15 марта 2009 в 19:01
img.parentNode.removeChild(img) (или parentElement – не помню)
P.S. Согласно спецификации W3C значение атрибута id должно быть уникальным в пределах всей страницы
15 марта 2009 в 14:03
а как при клике мышки удалить этот элемент со страницы?
15 марта 2009 в 13:05
спасибо большое, заработало)))
15 марта 2009 в 13:04
не проще ли вместо onmousedown="change(this.id)" написать "change(tihs)", а в скрипте el = id?