Tôi đang gặp một số vấn đề khi nhận một trong các trang trên trang web của mình bằng IE8. Nó hoạt động tốt trong IE9, Safari (cả PC & Mac) & Firefox (Mac). Tôi đang sử dụng một chuỗi find(tag1).html(tag1)
gọi để làm một tiêu đề thay thế, nhưng tôi nhận được lỗi sau trong IE8 khi tôi gỡ lỗi nó trong kịch bản debugger IE, và điều này trong html(tag2)
chức năng:Lỗi jQuery .find(): "Cuộc gọi hoặc phương thức truy cập thuộc tính không mong muốn"
Unexpected call to method or property access
Chức năng find(tag1)
dường để trả về đối tượng kèm theo (ví dụ: #sidebar
), chứ không phải đối tượng lồng nhau #sidebarheader
và điều này gây ra sự cố khi sau đó thực hiện cuộc gọi html(tag2)
.
tôi đã tạo ra một trường hợp thử nghiệm đại diện như sau:
<!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>
Và đây là các trường hợp thử nghiệm jsFiddle:
Có ai một gợi ý về cách để có được điều này để làm việc trong IE8?