2013-10-06 1 views
0

У меня есть функция, которая перезагружает страницу по щелчку:перезарядка только элементы определенного класса по щелчку - JQuery

$('#reload').click(function() { 
    location.reload(); 
}); 

Что я должен поставить вместо location.reload();, чтобы перезарядить только элементы с ааа класса?

проверено $('.aaa').reload(); - не работает.

+0

Где вы хотите, чтобы перезагрузить его от? у вас есть url, который получает содержимое для этого элемента? – PSL

+0

это только на странице html – weaponx

ответ

2

Вы можете использовать .load для загрузки содержимого в элемент, то есть при условии, что у вас есть URL-адрес, который возвращает html для загрузки в элемент. Вы не можете просто перезагрузить элемент в старое состояние, потому что HTML является stateless, если вы не управляете состоянием вручную.

$('#reload').click(function() { 
     $('.aaa').load(url); //url which returns you the content of the html. 
}); 

или другим способом можно хранить предыдущее состояние элемента в LocalStorage/куки/кэш данных и т.д., и заполнить его обратно на мыши.

Примером второго способа является:

$('#reload').click(function() { 
     $('.aaa').replaceWith($('.aaa').data('cache')); //just replace itself with one in the data cache 
}); 

$('.aaa').data('cache', $('.aaa').clone(true)); //on load of the page save the current element in data cache, for later use 

Fiddle

+0

правильный ответ. Единственное, что я задал неправильный вопрос, но ваш ответ определенно помог. Благодарю. – weaponx

+0

@weaponx Добро пожаловать ... – PSL

+0

Это замечательный ответ! Я удивлен, что он не более популярен, так как он очень полезен даже после 3 лет – RLaaa

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

  • Нет связанных вопросов^_^