2014-02-02 5 views
0

Я создал меню значков, теперь я хочу изменить источник изображения на основе щелчка.JQuery изменение источника изображения dynamiccaly

$(".iconchangers").click(function(){ 

    var newicon = $(this).attr('src'); 
    $(this).closest('tr').find('.changetheicon').css("src",newicon); 




    }) 


    }) 

Когда я предупреждаю newicon, все работает. Таким образом, ошибка заключается в изменении источника. Но я не знаю, почему он не работает.

https://www.dropbox.com/s/co6v92aqrutnt5b/Screenshot%202014-02-02%2023.53.55.png http://jsfiddle.net/h2tFw/

ответ

3

src это на самом деле не стиль, так css() не поможет, а в данном случае это не атрибут, который вы хотите либо, но элементы src собственности

$(".iconchangers").click(function(){ 
    $(this).closest('tr') 
      .find('.changetheicon') 
      .prop("src", this.src); 
}); 

Конечно, не существует способа определить, настроены ли вы на правильные элементы, поскольку вы не размещали какую-либо разметку?

+0

Если это простой значок, чтобы улучшить опыт пользователя, вы должны изучить правила 'css-position' css с изображением спрайта« background-image ». Вы изменяете видимый значок, перемещая позицию изображения. См. [CSS Tricks] (http://css-tricks.com/css-sprites/) для полного объяснения. Это означает, что ваш значок мгновенно изменится, не загружая новое изображение. – James

+0

Я добавил скрипку. Мне нужно изменить источник изображения для каждого tr на странице, а затем сохранить каждый источник изображения в массиве в LocalStorage, потому что мне понадобятся они на другой странице. Я не могу заставить его работать btw: w – user3117628

+0

Я действительно не использовал правильный селектор. Shudve: $ (this) .closest ('tr [id * = "tr_group"]'). Find ('. Changetheicon') :) Thans alot mate! – user3117628

Смежные вопросы