Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.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 导致ul自动关闭的内部HTML_Javascript_Html Lists_Innerhtml - Fatal编程技术网

Javascript 导致ul自动关闭的内部HTML

Javascript 导致ul自动关闭的内部HTML,javascript,html-lists,innerhtml,Javascript,Html Lists,Innerhtml,我试图通过从缓存的文本文件中提取并在推文中循环来显示推文提要。在我尝试将这些tweet变成一个列表之前,效果很好。li元素正确地附加到innerHTML,但开头的ul self关闭,结尾的ul消失 function twitterStatusCallback(obj) { if(obj && obj.length){ document.getElementById('twitter_status').innerHTML += "<ul>";

我试图通过从缓存的文本文件中提取并在推文中循环来显示推文提要。在我尝试将这些tweet变成一个列表之前,效果很好。li元素正确地附加到innerHTML,但开头的ul self关闭,结尾的ul消失

function twitterStatusCallback(obj) {
   if(obj && obj.length){
       document.getElementById('twitter_status').innerHTML += "<ul>";
       var len = obj.length;

      for(var i = 0; i < len; i++){
    //Only get tweets less than 7 days old.
    if ((relativeTimeNumeric(obj[i].created_at)) < (8*24*60*60)) { 

    var tweet = obj[i];

        document.getElementById('twitter_status').innerHTML += "<li>" + linkify(tweet.text);
        document.getElementById('twitter_status').innerHTML += relativeTime(tweet.created_at) +"</li>";

   }
   }
  document.getElementById('twitter_status').innerHTML += "</ul>"; 
}
 }
函数twitterStatusCallback(obj){
if(对象和对象长度){
document.getElementById('twitter_status')。innerHTML+=“
    ”; var len=对象长度; 对于(变量i=0;i”+linkify(tweet.text); document.getElementById('twitter_status')。innerHTML+=relativeTime(tweet.created_at)+“”; } } document.getElementById('twitter_status')。innerHTML+=“
”; } }
构建一个字符串,然后在完全构建后将其分配给innerHTML如何(这样您就永远不会注入损坏的html)。将损坏的html逐点触发到浏览器中必然会导致问题,因为浏览器无法存储损坏的dom树。

这可能是特定于浏览器的问题。我建议首先为innerHTML构造一个字符串,并在函数末尾分配它

即:

var-temp=“
    ”; 温度+=“更干净

    ​var ul=document.createElement('ul');
    for(i=0;i<len;i++)
    {
        var li=document.createElement('li');
        li.innerHTML=linkify(tweet.text)+" "+relativeTime(tweet.created_at);
        ul.appendChild(li);
    }
    
    document.getElementById('twitter_status').appendChild(ul);
    
    ​var ul=document.createElement('ul');
    对于(i=0;i
    
    ​var ul=document.createElement('ul');
    for(i=0;i<len;i++)
    {
        var li=document.createElement('li');
        li.innerHTML=linkify(tweet.text)+" "+relativeTime(tweet.created_at);
        ul.appendChild(li);
    }
    
    document.getElementById('twitter_status').appendChild(ul);