Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery刷新innerHTML_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用jQuery刷新innerHTML

Javascript 使用jQuery刷新innerHTML,javascript,jquery,html,Javascript,Jquery,Html,我使用innerHTML代码删除这个xml文档中的信息,而这些信息在DIV contentfile中,我找到了jQuery代码并决定使用它,但我无法通过代码更新DIV。我正在使用的页面链接是 我保留了我正在使用的更多javascript函数 //http://code.google.com/p/miniajax/ function $(e){if(typeof e=='string')e=document.getElementById(e);return e}; function collec

我使用innerHTML代码删除这个xml文档中的信息,而这些信息在DIV contentfile中,我找到了jQuery代码并决定使用它,但我无法通过代码更新DIV。我正在使用的页面链接是

我保留了我正在使用的更多javascript函数

//http://code.google.com/p/miniajax/
function $(e){if(typeof e=='string')e=document.getElementById(e);return e};
function collect(a,f){var n=[];for(var i=0;i<a.length;i++){var v=f(a[i]);if(v!=null)n.push(v)}return n};

ajax={};
ajax.x=function(){try{return new ActiveXObject('Msxml2.XMLHTTP')}catch(e){try{return new ActiveXObject('Microsoft.XMLHTTP')}catch(e){return new XMLHttpRequest()}}};
ajax.serialize=function(f){var g=function(n){return f.getElementsByTagName(n)};var nv=function(e){if(e.name)return encodeURIComponent(e.name)+'='+encodeURIComponent(e.value);else return ''};var i=collect(g('input'),function(i){if((i.type!='radio'&&i.type!='checkbox')||i.checked)return nv(i)});var s=collect(g('select'),nv);var t=collect(g('textarea'),nv);return i.concat(s).concat(t).join('&');};
ajax.send=function(u,f,m,a){var x=ajax.x();x.open(m,u,true);x.onreadystatechange=function(){if(x.readyState==4)f(x.responseText)};if(m=='POST')x.setRequestHeader('Content-type','application/x-www-form-urlencoded');x.send(a)};
ajax.get=function(url,func){ajax.send(url,func,'GET')};
ajax.gets=function(url){var x=ajax.x();x.open('GET',url,false);x.send(null);return x.responseText};
ajax.post=function(url,func,args){ajax.send(url,func,'POST',args)};
ajax.update=function(url,elm){var e=$(elm);var f=function(r){e.innerHTML=r};ajax.get(url,f)};
ajax.submit=function(url,elm,frm){var e=$(elm);var f=function(r){e.innerHTML=r};ajax.post(url,f,ajax.serialize(frm))};

function process(xml) {
    document.getElementById('contentfile').innerHTML=xml;
    var title = document.getElementById('contentfile').getElementsByTagName('song')[0].title;
    var name = document.getElementById('contentfile').getElementsByTagName('Artist')[0].getAttribute('name');
    document.getElementById('contentfile').innerHTML=' '+name+' // ' +title;
}
function checkXml() {
     ajax.get('/NowOnAir.xml',process)
}
window.onload=function() {
    checkXml();
    tId=setInterval('checkXml()',speed)  
}
概念: 快速总结:您的页面生成2个javascript运行时错误:

ReferenceError:未定义速度noar.php:38:3 ReferenceError:未定义标题noar.php:9:6 问题的根源在于你试图做这样的事情:

function test() {
    a += 1;
}
var a = 0; // a in global scope
function test() {
    a += 1;
}
当你不得不这样做的时候:

function test() {
    a += 1;
}
var a = 0; // a in global scope
function test() {
    a += 1;
}

做法: 我认为你应该删除

<script>
window.setInterval("refreshDiv()", 20000);  
function refreshDiv()
{
    document.getElementById('contentfile').innerHTML=' '+name+' // ' +title;
}
</script>
使

window.onload=function() {
    checkXml();
    tId=setInterval('checkXml()',speed)  
}
工作正常-必须定义速度变量。 要定义它,您可以添加

var speed = 20000;
到脚本的开头。也许在这里:

<script>
var speed = 20000;
//http://code.google.com/p/miniajax/
也许您可以重写ajax以使用ajax的jQuery方法。但我看不出有什么原因——如果当前版本的ajax工作正常的话。如果您仍然想要,那么您应该看看这里:


在jQuery中使用ajax还有其他功能—使用适合您的功能。

window.setIntervalrefreshDiv,20000;可能应该是window.setIntervalrefreshDiv,20000@AdamKonieska我按照您所说的进行了更改,但仍然没有进行刷新,这将是函数refreshDiv{document.getElementById'contentfile'.innerHTML='+name+'/'+title;},应该可以使用。你能用JS小提琴制作一个可复制的例子吗?Set interval和refreshDiv在这里工作:我将重新生成不同的问题。我已重新设计了答案,更精确地说,并将页面链接放在所有工作和我要更新的位置,我体验了所有帮助,无法制作和测试,谢谢!但我想知道,如果我使用您正在使用的jQuery,是否会更新您想要的内容?更新的答案-为jQuery添加的变体。接下来会发生什么取决于你我已经说过了,但不是我可以提供数据,甚至是提供给我和nda的刷新,我在做一些错误的代码?
<script>
var speed = 20000;
//http://code.google.com/p/miniajax/
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
function process(xml) {
    $('#contentfile').html( xml );
    var title = $('#contentfile').find('song').first().attr('title');
    var name = $('#contentfile').find('Artist').first().attr('name');
    $('#contentfile').html( ' '+name+' // ' +title );
}