Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DOM в слое и подготовка ссылок в нужном виде, Не умею работать с относительными тегами 
V
    Опции темы
ArNic
Дата 1.10.2008, 03:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 3.1.2007

Репутация: нет
Всего: нет



Дано:
Сама страничка... назовем ее index.html
Код

    <script type="text/javascript" src="../js/jquery.js"></script>
    <script>
        function Down(file){
            $("#down").load(file);
            //Конечно можно и с помощью $.ajax но это не суть.
        }
    </script>
    <div id=up><a onclick="Down('test.html')"> Сюда нажимают </a></div>
    <div id=down></div>


Файл, который будет загружаться в слой "down" - назовем его test.html - 
Код

    <div>
    <a href="test.php?i=1&j=1">Это первая ссылка</a>
    </div>
    <table id=DTable>
        <tr>
            <td>Обычный текст 1</td>
            <td><a href="test.php?i=1&j=2">Это вторая ссылка</a></td>
            <td>Обычный текст 2</td>
        </tr>
    </table>


Помогите:
Написать функцию в JS для обработки содержимого слоя down ( <div id=down></div> ), чтобы только в этом слое  добавлялось к ссылкам событие onclick с функцией Down и передаваемым значением параметра href

для наглядности - конечный результат содержимого должен быть таким:
Код

    <div>
    <a href="test.php?i=1&j=1" onclick="Down('test.php?i=1&j=1')">Это первая ссылка</a>
    </div>
    <table>
        <tr>
            <td>Обычный текст 1</td>
            <td><a href="test.php?i=1&j=2" onclick="Down('test.php?i=1&j=2')">Это вторая ссылка</a></td>
            <td>Обычный текст 2</td>
        </tr>
    </table>


Это сообщение отредактировал(а) ArNic - 1.10.2008, 03:15
PM MAIL ICQ   Вверх
ArNic
Дата 1.10.2008, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 3.1.2007

Репутация: нет
Всего: нет



Ответа ни от кого нет, скорее всего я просто ошибся разделом.
Есть логическое решение, я его могу описать так:

искомое  = #down  + тег <a> в любом множестве вложений
добавляемое значение = параметр href в текущем найденном теге
результирующее значение =     добавление onclick="Down('добавляемое значение'); в найденный тег

Но технически реализовать не умею пока что.
Обратите пожалуйста на проблему, либо укажите хоть описание похожего решения.

Это сообщение отредактировал(а) ArNic - 1.10.2008, 20:09
PM MAIL ICQ   Вверх
ArNic
Дата 1.10.2008, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 3.1.2007

Репутация: нет
Всего: нет



Объясню, зачем это нужно: если страничка маленькая и там будет всего несколько таких событий OnClick - То при большом объеме ссылок, будет объем траффика загружаемого пропорционально расти. А это не есть хорошо. Лучше уж пусть на стороне клиента добавляется. При этом еще и в Php коде соблюдается читота и малый размер - ведь не надо будет постоянно в выражения добавлять такие события как OnClick - достаточно что они есть уже в href
PM MAIL ICQ   Вверх
ArNic
Дата 3.10.2008, 01:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 3.1.2007

Репутация: нет
Всего: нет



Задачу решил (спустя 5 дней мучительного исследования интерента.

Код

var righthtml = document.getElementById("down");
var hrefs = righthtml.getElementsByTagName("a");
var l_hrefs = hrefs.length;
for (i=0;i<l_hrefs;i++){
    var activehref = hrefs[i].getAttribute("href");
    hrefs[i].setAttribute("onclick","Down('','"+activehref+"'); return false;");
}


Если можно оптимизировать скажите.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0523 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.