我想知道如何只刷新网站中的特定元素,而不是整个网页?我正在谈论的元素是一个加载非常慢的Flash应用程序,可能会遇到连接超时。我想让用户只刷新该元素/ falsh应用程序。我怎么做?下面我有一个Ajax函数,用于更新HTML元素但不确定如何将其应用于我的情况。
<head>
<script type="text/javascript">
function loadXMLDoc() {
var xmlhttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "ajax_info.txt", true);
xmlhttp.send();
}
</script>
</head>
<body>
<div id="myDiv">
<h2>Let AJAX change this text</h2>
</div>
<button type="button" onclick="loadXMLDoc()">Change Content</button>
</body>
答案 0 :(得分:16)
试试这个:
function reload(){
var container = document.getElementById("yourDiv");
var content = container.innerHTML;
container.innerHTML= content;
//this line is to watch the result in console , you can remove it later
console.log("Refreshed");
}
<a href="javascript: reload()">Click to Reload</a>
<div id="yourDiv">The content that you want to refresh/reload</div>
希望它有效。让我知道
答案 1 :(得分:1)
尝试创建运行此功能的javascript函数:
document.getElementById("youriframeid").contentWindow.location.reload(true);
或者也许使用HTML解决方法:
<html>
<body>
<center>
<a href="pagename.htm" target="middle">Refresh iframe</a>
<p>
<iframe src="pagename.htm" name="middle">
</p>
</center>
</body>
</html>
两者都可能是您正在寻找的......
答案 2 :(得分:1)
在脚本中尝试以下操作:
$("#YourElement").html(htmlData);
我在茶点休息时做这个。
答案 3 :(得分:0)
每次尝试清空你的innerHtml。 就像这样:
$('.img').each(function(key, value) {
$(value).fadeOut('slow', function() {
// fadeOut animation completed
$(value).attr('src','images/new.png')
$(value).fadeIn('slow')
})
})