删除DOM中的元素样式

时间:2012-11-23 08:24:02

标签: javascript jquery html css

OldFunc = window.onload;
window.onload = OnLoad;

function OnLoad(){
    try{

        var pathName = window.location.pathname.toLowerCase();

        //alert(pathName);
        if( pathName.indexOf("something")!=-1)
        {           
            OnFixFontAndTable();
            alert(pathName);
        }   
        OldFunc();
    }
    catch(e) 
    {
        alert(e);
    }
} 

function OnFixFontAndTable()
{
    //$('body').attr('style','');   
    document.getElementsByTagName('body').style="";
}

我想使用该代码片段来删除页面中正文的样式,但是当我运行页面时,我一直都会遇到错误 “TypeError OldFunc不是函数”

我将我的网址设置为"localhost:8080/pages/something.php"

3 个答案:

答案 0 :(得分:2)

尝试将第一行更改为:

var OldFunc = window.onload || function() {};

如果window.onloadundefined,并且您尝试调用它,则会收到该错误。在OldFuncwindow.onload的情况下,上面的代码会为undefined分配一个空函数,因此当您尝试在OldFunc()中调用OnLoad()时,它将不会失败。

或者,让jQuery通过指定onDomReady事件来为您处理事件。用以下代码替换代码的前两行:

$(function() {
    OnLoad();
});

答案 1 :(得分:0)

你自己在那里解释过。 CodeSnippet中没有名为OldFunc的函数。

$(document).ready(OnLoad);

function OnLoad(){
    try{

        var pathName = window.location.pathname.toLowerCase();

        //alert(pathName);
        if( pathName.indexOf("something")!=-1)
        {           
            OnFixFontAndTable();
            alert(pathName);
        }   
    }
    catch(e) 
    {
        alert(e);
    }
} 

function OnFixFontAndTable()
{
    //$('body').attr('style','');   
    document.getElementsByTagName('body').style="";
}

答案 2 :(得分:-1)

将OnFixFontAndTable移到顶部“OnLoad”上并再试一次

相关问题