我正在尝试使用.load从服务器轮询一个特定的元素id,但是如果我使用window.location.reload()跟随.load,则只更新该元素。
具体来说,该元素是vxworks windmark元素*,vxworks服务器每秒更新一次,浏览器应该读取并显示。
页面上的元素:
<span id="general_response_windmark_id" >$%general_response_windmark#$</span>
在页面末尾我做:
setInternval( 'foo()', 1000 ) // to re-display once a second
不工作:......
function foo()
{
windmark_field_id = 'general_response_windmark_id'
$('#' + windmark_field_id).load(' #' + windmark_field_id);
}
WORKS:...
function foo()
{
windmark_field_id = 'general_response_windmark_id'
$('#' + windmark_field_id).load(' #' + windmark_field_id);
window.location.reload()
}
感谢
答案 0 :(得分:1)
将您的<span>
标记放在单独的HTML文档中(如果您愿意,可以单独使用),然后使用jQuery加载它:
function foo() {
var wfid = 'general_response_windmark_id';
$('#' + wfid).load('external-span-page.html #' + wfid);
}
答案 1 :(得分:0)
我认为
$('#' + windmark_field_id).load(' #' + windmark_field_id);
语句有错误。
因为在.load()
内,第一个参数是一个网址,而且我知道网址不能以#
符号开头。
重新检查您的网址分配到.load()
,这将解决您的问题。
答案 2 :(得分:0)
回答: 将完成函数参数添加到.load之后,就在URL之后。
问题: 我的原始代码正在执行.load,然后立即从浏览器页面DOM中读取元素,即使.load还没有完成。 使用.load的完成功能等待它完成。
海畅!