使用DOM添加元素document.write

时间:2010-03-03 12:52:50

标签: javascript dom xhtml document.write

我刚学会(不用感谢IE)我不能在XHTML中使用document.write脚本。但是,通过使用DOM添加元素似乎有办法解决它。我不知道。这对我来说很陌生。

这是JS:

copyright=new Date();
update=copyright.getFullYear();
document.write("Copyright © 2004-"+ update + " flip-flop media");

那么,有没有办法在XHTML中使用这个脚本? IE 8显示一个带有错误警告的空白区域。 IE 7只显示警告。 FF确实正确显示它。

它显示没有错误,并在我的一个页面上正确显示: http://clients.flipflopmedia.com

但不在主页上: http://www.flipflopmedia.com/NewSite/index.html

4 个答案:

答案 0 :(得分:6)

回答您的问题:附加版权声明作为页面上的最后一个元素。

(function(){
    // create almost any element this way...
    var el = document.createElement("div");
    // add some text to the element...
    el.innerHTML = "Copyright © 2004-"+ (new Date).getFullYear() + " flip-flop media";
    // "document.body" can be any element on the page.
    document.body.appendChild(el);
}());

您始终可以将“document.body”更改为您要使用的任何元素。例如document.getElementById("copyright").appendChild(el);

的jQuery

您已在页面上拥有jQuery。 所以只需使用:

$(function(){
    // "body" is a css selector.
    // you can use almost any css selector 
    // to find the element you need. e.g. $("#copyright")...
    $("body").append("Copyright © 2004-"+ (new Date).getFullYear() + " flip-flop media");
    // you can also use html() to replace the existing content.
    // $("#copyright").html("content goes here");
});

你应该做什么:

使用php,.net等服务器端技术

您可能正在服务器上运行php,这意味着以下内容应该适用于您的页面中的任何位置(如果它有php扩展名(index.php而不是index.html),当然):

<?php
    echo 'copyright &copy; 2004-' + date("Y") . ' flip-flop media';
?>

答案 1 :(得分:3)

查看jQuery,它将允许您以更简单的方式修改DOM。例如,您可以执行document.write

而不是$('#copyrightElement').html("Copyright © 2004-" + update + " flip-flop media");

或者如果您更喜欢简单的Javascript,您可以执行以下操作:

document.getElementById('copyrightElement').innerHTML = "Copyright © 2004-" + update + " flip-flop media";

div / span / p /包含页脚文本的任何内容都指定了id="copyrightElement"属性。

但是我建议在后端使用脚本语言执行此操作(不确定您的网站使用的是什么。)禁用Javascript的用户将看不到您的版权声明。

答案 2 :(得分:1)

修正了它。发现了一篇文章,我不明白它为什么会起作用,但这就是我对JS所做的一切:

在脚本开始之前(添加): //

最后(补充): //]&GT;

我之前尝试过这个,但文章误称我在开头添加这个:

包含CDATA标记的完整脚本:

//

答案 3 :(得分:0)

你可以这样添加html:

   var a = document.createElement("a");
    a.setAttribute("href", "http://stackoverflow.com/questions/2371326/using-the-dom-to-add-elements-document-write");
    var top = document.getElementById("top");
    top.appendChild(a);