我刚学会(不用感谢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
答案 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 © 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);