this.href
не безопасно!
Используйте $(this).attr('href')
, и оно будет работать.
Проверьте мой вопрос здесь: Получение значений атрибутов HTML «путь DOM 0»
Это объясняет, что существует несколько атрибутов HTML (среди них href
), которыепроблематичны, поэтому следует использовать jQuery attr()
для получения их значений.
Цитата из ответа на этой странице:
Например, свойство href элемента всегда сообщает о полном URL-адресе, в то время как getAttribute ("href") возвращает указанную строкув атрибуте HTML href дословно.За исключением, конечно, в IE.Функция attQ () в jQuery пытается нормализовать такого рода противоречия.
ОБНОВЛЕНИЕ
Я понял это.Вы не гарантировали, что код jQuery будет запущен после того, как DOM будет готов.Всегда помещайте весь свой код JQuery в обработчик готовности:
$(function() {
// place all jQuery code here
});
ОБНОВЛЕНИЕ 2
Попробуйте этот код:
$('#thumbnails a').click(function() {
$('#work').empty().html( '<img src="' + $(this).attr('href') + '">' );
return false;
});
Я должен был увидеть это раньше.Аргументом функции html () должна быть строка.
ОБНОВЛЕНИЕ 3
Возможно, Safari (по крайней мере) не выполняет JavaScriptкод на странице, который полностью загружается с помощью метода load () jQuery.
Однако, думаю, я понял, как с этим бороться!
На странице 1776.php переместите элемент SCRIPT из ГОЛОВКИ в ТЕЛО документа.
<body>
<script> ... the code ... </script>
<div> ... </div>
</body>