У меня проблемы с получением одной из страниц моего сайта с помощью IE8. Он отлично работает в IE9, Safari (для ПК и Mac) и Firefox (для Mac). Я использую последовательность вызовов find(tag1).html(tag1)
для подстановки заголовка, но я получаю следующую ошибку в IE8, когда отлаживаю ее в отладчике сценариев IE, и это в функции html(tag2)
:
Неожиданный вызов доступа к методу или свойству
Кажется, что функция find(tag1)
возвращает вложенный объект (т.е. #sidebar
), а не вложенный объект #sidebarheader
, и это вызывает проблемы при последующем вызове html(tag2)
.
Я создал типичный тестовый пример следующим образом:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JQuery .find() test case</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.js"></script>
<script type="text/javascript">
function UpdateHeader() {
$('#sidebar').find('header').html("New Title"); // IE8, nesting div's in the find fct. will not discover the child div
}
document.ready = UpdateHeader;
</script>
</head>
<body>
<div style="height: 400px; width: 390px">
<div id="jqm-home">
<div id="page">
<div id="sidebar">
<div id="sidebarheader">
<header>Old Title</header>
</div>
</div>
</div>
<p onclick="UpdateHeader();">Click to update title</p>
</div>
</div>
</body>
</html>
А вот тестовый пример jsFiddle:
http://jsfiddle.net/bnmcK/21/
Кто-нибудь предлагал, как заставить это работать в IE8?