首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用DOM添加元素,document.write

使用DOM添加元素,document.write
EN

Stack Overflow用户
提问于 2010-03-03 20:52:50
回答 4查看 12.6K关注 0票数 4

我刚刚了解到(多亏了IE)我不能在XHTML语言中使用document.write脚本。但是,似乎有一种方法可以通过使用DOM添加元素来绕过它。我不知道。这对我来说是陌生的。

下面是JS:

代码语言:javascript
复制
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

EN

回答 4

Stack Overflow用户

发布于 2010-03-03 21:04:12

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

代码语言:javascript
复制
(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。所以只需使用:

代码语言:javascript
复制
$(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) ):

代码语言:javascript
复制
<?php
    echo 'copyright &copy; 2004-' + date("Y") . ' flip-flop media';
?>
票数 6
EN

Stack Overflow用户

发布于 2010-03-03 20:59:01

看一看jQuery,它将允许您以一种更容易的方式修改DOM。例如,您可以只执行$('#copyrightElement').html("Copyright © 2004-" + update + " flip-flop media");,而不是document.write

或者,如果你更喜欢普通的Javascript,你可以这样做:

代码语言:javascript
复制
document.getElementById('copyrightElement').innerHTML = "Copyright © 2004-" + update + " flip-flop media";

其中包含页脚文本的div/span/p/被分配了一个id="copyrightElement"属性。

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

票数 3
EN

Stack Overflow用户

发布于 2010-03-03 23:43:37

修好了。我找到了一篇文章,我不明白它为什么会起作用,但我对JS所做的一切如下:

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

在末尾(添加)://]]>

我之前已经尝试过了,但这篇文章误导了我,因为它在开头添加了以下内容:

带有CDATA标记的完整脚本:

//

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2371326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档