通过javascript设置漂亮的打印标签

时间:2009-01-07 13:59:57

标签: javascript internet-explorer pretty-print

我试图让pretty.js使用这个js来美化CODE标签中的代码:

onload_functions.push(function() {
    var node_list=document.getElementsByTagName('code');
    for (i=0; i < node_list.length; i++) {
        node_list[i].setAttribute('class','prettyprint');
    }
    prettyPrint();
});

这适用于Firefox :)但IE没有。 我做错了什么?

您可以在http://sam.xnet.tk

看到它(非)工作

2 个答案:

答案 0 :(得分:2)

这很简单,可以在所有浏览器中使用jQuery。

$(function() {
    $('code').addClass('prettyprint');
    prettyPrint();
});

编辑:它在IE中不起作用的原因是因为IE使用'className'代替'class'只是为了让生活变得悲惨。

答案 1 :(得分:0)

如果代码元素有任何其他类名,这将在IE中产生混乱。使用(特定于IE)JavaScript属性className可能会起作用。 我对您网站上的onload功能发表了评论。 顺便说一下,嵌入JavaScript的方式将打破未来标准兼容的浏览器,请参阅W3C validator's output for your site。最简单的解决方案是将代码移动到外部文件。