Javascript:动态添加属性到标记

时间:2009-08-11 18:57:34

标签: javascript html facebook

我正在尝试动态地将FB xmlns属性添加到文档的<html>标记(<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">)。出于某种原因,如下所示添加它不起作用:

htmltag  = document.getElementsByTagName ('html');
htmltag[0].setAttribute("xmlns:fb","http://www.facebook.com/2008/fbml");");

我该怎么做?

谢谢!

更新:没有jquery或其他lib可用。

4 个答案:

答案 0 :(得分:4)

使用jquery可以很快完成。

包括:

(或指向本地jquery库)

这是代码:

<script type="text/javascript">
$(document).ready(function() {
    $("html").attr("xmlns:fb", "http://www.facebook.com/2008/fbml");
});  </script>

答案 1 :(得分:4)

实际上,在我做了上面提到的jquery解决方案之后;

我意识到只需一条javascript线就可以轻松完成:

document.documentElement.setAttribute("xmlns:fb", "http://www.facebook.com/2008/fbml");

请记住......如果您使用浏览器查看源代码,您将看不到附加的属性,因为它在页面加载后以编程方式添加。在firefox中使用Firebug,或者让你看到动态操作源的东西,你应该好好去。

答案 2 :(得分:3)

这可能不是你想要的答案:)

使用客户端代码处理语义标记并不是一种好习惯。它隐藏了大多数机器的宝贵机器可读信息。在Javascript执行*时,HTML已经被提取,解析和显示。一美元短,一天晚了!

如果您可以在服务器上添加属性,在将其发送到浏览器之前,请先进行操作。

如果你来做客户端;不要被像jQuery或其他任何东西的框架所诱惑。对于一项小任务来说,这是一个巨大的开销。

*非科学测试

答案 3 :(得分:0)

引用&lt; html /&gt;元素使用

document.documentElement