创建div的Javascript删除所有CSS

时间:2013-10-04 18:21:04

标签: javascript css

我正在尝试创建一个网页,该网页从播客中获取XML文件,并生成所有标题的列表以及播客的直接链接。在大多数情况下,这是有效的,但是当我尝试使用CSS向页面添加样式时,它会消失,因此如果首先没有应用任何样式,页面就像它一样。

这是我在页面上使用写入列表的Javascript。

var podcasts;
var titles = new Array;
var urls = new Array;

var yogpod = function() {

    document.write("<h1> YogPod </h1>");

    var xml = loadXMLDoc("http://localhost/yogpod/yogpod.xml");
    podcasts = xml.getElementsByTagName("item");

    //Extract info into arrays for ease of use
    for (i=0; i<podcasts.length; i++)   {   titles[i] = podcasts[i].children[0].textContent         }
    for (i=0; i<podcasts.length; i++)   {   urls[i] = podcasts[i].children[6].getAttribute('url')   }


    //Make podcast 1 first
    titles.reverse();
    urls.reverse();

    //Write podcasts and URLs on page
    for (i=0; i<podcasts.length; i++)
    {
        var div = document.createElement('div');
        //div.setAttribute('class', 'podcast');
        div.className='podcast';
        var titleText = document.createTextNode(titles[i]);
        var urlText = document.createTextNode(urls[i]);

        div.appendChild(titleText);
        div.appendChild(document.createElement('br'));
        div.appendChild(urlText);
        div.appendChild(document.createElement('br'));

        var a = document.getElementsByTagName('body')[0];
        a.appendChild(div); 
    }
}

这就是结果,Chrome认为页面是什么。 Markup

编辑:我删除了 document.write("<h1> YogPod </h1>") 行并修复了它。谁能告诉我为什么会这样?

2 个答案:

答案 0 :(得分:3)

在页面加载后执行document.write 时,它会在写入指定内容之前清空文档。将document.write替换为document.createElement("h1")document.body.appendChild(...)

答案 1 :(得分:0)

       // you have to create new element and new textNode


var s = document.createElement('h1');
var t = document.createTextNode('yodu..');

var headr = s.appendChild(t);