Изменение href с помощью jQuery больше не вызывает стиль a :ited - PullRequest
4 голосов
/ 08 мая 2009

Мой сайт SharePoint должен сохранять стиль a: посещения, определенный в CSS для ссылок. Я добавил следующий код, который добавляет «& Source = /» к каждому href. Кажется, что, изменяя href с помощью jQuery, браузер только «видит» исходный href и, следовательно, никогда не запускает стиль a: посещения, так как нет соответствия ...

        $("table[class='ms-listviewtable'] td[class='ms-vb2'] a")
            .removeAttr("onclick")
            .attr('href', function(){
                return $(this).attr('href') + '&Source=/'; 
            });

Ответы [ 3 ]

3 голосов
/ 08 мая 2009

Похоже, что IE не поддерживает стили :visited для динамически обновляемых ссылок. Я только протестировал IE8, но если он не работает в последней версии, я не ожидаю, что он будет работать в IE 6/7

IE поддерживает только самый базовый сценарий, когда посетитель нажимает на ссылку, переходящую на другую страницу, а затем нажимает кнопку «Назад», чтобы вернуться на предыдущую страницу. Только тогда ссылка отображает свой стиль :visited.

Он отлично работает в Firefox 3, хотя; ссылки оформляются должным образом, даже если их атрибуты href обновляются с помощью JavaScript.

Я создал тестовую страницу, которая позволяет вам попробовать различные ссылки и методы: http://jsbin.com/odoqo (редактируется через http://jsbin.com/odoqo/edit)

Примечание: Я использовал тестовую страницу только в Firefox 3 и IE 8, она, вероятно, сломается в IE 6/7

1 голос
/ 08 мая 2009

Добавление параметра строки запроса заставляет браузер видеть его как совершенно другой URL, который не был посещен. Браузер не может знать, что параметр Source не меняет назначение ссылки.

Еще одна вещь, на которую стоит обратить внимание, это то, насколько специфичны ваши стили - иногда «таблица a» переопределяет «a: посещения», поэтому вам также необходимо «таблица a: посещения».

1 голос
/ 08 мая 2009
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...