Mam problemy z uzyskaniem jednej z moich stron witryny za pomocą IE8. Działa dobrze w IE9, Safari (zarówno PC & Mac) & Firefox (Mac). Używam sekwencję find(tag1).html(tag1)
rozmowę zrobić podstawienie tytuł, ale pojawia się następujący błąd w IE8 kiedy debugować go w skrypcie debugera IE, a to w html(tag2)
funkcję:Błąd jQuery. Find(): "Nieoczekiwane wywołanie metody lub dostępu do właściwości"
Unexpected call to method or property access
Funkcja find(tag1)
wydaje zwrócenie obiektu otaczającego (tj. #sidebar
), a nie zagnieżdżonego obiektu #sidebarheader
, co powoduje problemy podczas późniejszego wywoływania połączenia html(tag2)
.
Utworzyłem reprezentatywny przypadek testowy następująco:
<!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>
A oto przypadek testowy jsFiddle:
czy ktoś sugestię, w jaki sposób uzyskać to do pracy w IE8?