Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   При подгрузке ссылки теряются (https://javascript.ru/forum/jquery/15807-pri-podgruzke-ssylki-teryayutsya.html)

Black_Sun 14.03.2011 13:14

При подгрузке ссылки теряются
 
В общем создал скрипт, который подгружает элемент по нажатию с той же самой страницы, сделал следующим образом, но при загрузке ссылки перестают быть ссылками.
$('document').ready(function(){
$('.nav').each(function(){$(this).append('<img class="imag" src="'+location.href+'/refresh.gif" style="border: none;cursor:pointer">')});
$('img.imag').click(function(){
var num=$('img.imag').index(this);
var n=num-1;
$(this).parent().next().html("Reloading...").load(location.href+" td."+$(this).parent().next().attr('class')+":eq("+n+") >*")
});
});

Хелп.

jura4x01 14.03.2011 13:51

для начала как минимум в 2й строке исправь src="'+location.href+'/refresh.gif"

Black_Sun 14.03.2011 13:58

jura4x01,
а, ну это да :) там просто ссылка стояла прямая, дабы не рекламировать заменил.

Black_Sun 14.03.2011 14:07

А и ещё заметил такую штуку, что ссылки остаются, только теряется обрамление, т.е. если было
<a href>
<img>
<h4></h4>
</a>
то стало
<a href></a>
<img>
<h4></h4>
и там ссылки ещё без начального location.host, т.е. <a href="/blabla/blabla/">

jura4x01 14.03.2011 14:25

чета очень подозрительно 6-ая строка у тебя выглядит в коде... тебе что конкретно нужно? html код вставь.

Black_Sun 14.03.2011 14:37

в общем скрипт по нажатию на img в td .nav подгружает тот же tr но элемент td .main в td .main
а 6 строчка отсчёт от img, т.е. img parent -это td .nav .next() это td .main ну а load берётся тоже самое только по классу и отсчёту от начала .index() в eq()
<tr valign="top">
<td width="12%" rowspan="2" class="nav">
<div class="rubhead"><a name="/blabla/"></a><a href="/blabla/">bla bla</a></div>
*!*
<img style="border: medium none; cursor: pointer;" src="/refresh.gif" class="imag">
*/!*
</td>

<td width="53%" rowspan="2" class="main">
 <table cellspacing="0" cellpadding="0" border="0" width="100%" class="top10">
 <tbody><tr valign="top"><td width="38%" class="last">
.
.
.
</td></tr></tbody></table>

</td></tr>

jura4x01 14.03.2011 14:47

у тебя есть таблица с колонкой ячеек класса .nav и колонкой ячеек класса .main.
в колонку класса .nav ты запихиваешь картинку при нажатии на которую в соответствующую ячейку колонки .main вставляется содержимое её же самой?

Black_Sun 14.03.2011 14:56

jura4x01,
да, но не в соответствующую ячейку, а в саму колонку класса .main т.е. перезаписывается всё тоже самое из неё же, так сказать проверка на обновление без перезагрузки всей страницы, таких вот блоков tr много штук 10

jura4x01 14.03.2011 15:02

если ты хочешь проверить обновлена ли ячейка таблицы на серваке не перегружая страницу - может помочь ajax. тебе нужно создать запрос на сервер, который в свою очередь возвращал бы тебе кусок html кода, который ты вставил бы в ячейку.
пока что ты просто копируешь текстовую информацию в одно и тоже место. сейчас при нажатии картинки содержимое копируется не с сервера а с открытой страницы. ниче не обновляется.

Black_Sun 14.03.2011 16:23

jura4x01,
проверку на одиноковость может быть введу, и я не понял в чём разница между отрытой страницей и сервером (если конечно вы не имеете ввиду запрос на php или api, или БД)?
запрос делает load на ту же страницу где новости, и если информация была обновлена на той странице в данном блоке то юзер это увидит после окончания запроса.
Вопрос то в чём, почему после запроса слетают a href оболчки? см. пост 4

p.s. Если бы я хотел копировать я бы использовать .clone()


Часовой пояс GMT +3, время: 16:26.