文件中有个css定义如下
#tao-nav .b_l,#tao-nav .b_r,#tao-nav .wrap,#tao-nav .nav li,#tao-nav .nav li s{background:url(../img/taoNav.png) 
no-repeat -999em -999em;}现在我想执行一个js来把
../img/taoNav.png这个图
改成我的
http://www.tk0752.com/images/taoNav.png有什么方面的js语句吗?
我现在无法改变这个页面的代码,只能在页面中执行一个js。所以只能用js来改变。页面会先显示原来的背景图,当执行到我的js时,修改背景图。虽然视觉效果不是很完美,但是只要实现了还是满意的。请高手介绍一下方法。

解决方案 »

  1.   

    我知道虽然js虽然可以对一个对象改变其背景图,但是这个css语句定义的东西太多,所以就不好写了
      

  2.   

    var url = 'url(http://www.tk0752.com/images/taoNav.png)';
    var obj = document.getElementById('tao-name');
    var subObj = obj.childNodes;
    for(var i = 0; i < subObj.length; i ++) {
    if (subObj[i].nodeType == 1) {
    var cName = subObj[i].className;
    if (cName == 'b_l' || cName == 'b_r' || cName == 'wrap') subObj[i].style.backgroundImage = url;
    else {
    if (cName == 'nav') {
    var lis = subObj[i].getElementsByTagName('li');
    for(var j = 0; j < lis.length; j ++) {
    lis[j].style.backgroundImage = url;
    //li s 这个s是什么东东啊?
    var s = li[j].getElementsByTagName('s');
    for(var k = 0; k < s.length; k ++) s[k].style.backgroundImage = url;
    }
    }
    }
    }
    }
      

  3.   

    或者这样弄:
    var obj = document.createElement('style');
    obj.type = 'text/css';
    obj.innerHTML = '#tao-nav .b_l,#tao-nav .b_r,#tao-nav .wrap,#tao-nav .nav li,#tao-nav .nav li s{background:url(../img/taoNav.png) no-repeat -999em -999em;}';
    document.getElementsByTagName('body')[0].appendChild(obj);
      

  4.   

    第一段代码本地测试可以,实际情况就不行了
    第二段代码本地测试也不行的。<link href="http://tb.phpwind.com/static/css/base.css" rel="stylesheet" type="text/css" /><div id="tao-nav" class="w980"> <div class="b_l"></div> <div class="wrap"> <ul class="nav">    <li style="background-color:#008888;margin-top:5px;margin-bottom:5px;height:35px"><a href="http://tmy.tk0752.com"><s class="icon-home"></s>专题首页</a></li><li><a href="http://tmy.tk0752.com/site.php?m=history"><s class="icon-more"></s>更多折扣商品</a></li><li><a href="http://tmy.tk0752.com/user.php?m=order&a=list_order"><s class="icon-mytao"></s>我的淘满意</a></li><li><a href="http://www.tk0752.com"><s class="icon-home"></s>团购总站</a></li> <li><a href="http://tmy.tk0752.com/activity.php?m=dream" target="_blank"><s class="icon-home"></s>许梦想</a><img src="http://tb.phpwind.com/static/ispecial/dreamshow/10w.gif"></li> </ul> </div> <div class="b_r"></div></div> <script>var obj = document.createElement('style');obj.type = 'text/css';obj.innerHTML = '#tao-nav .b_l,#tao-nav .b_r,#tao-nav .wrap,#tao-nav .nav li,#tao-nav .nav li s{background:url(../img/taoNav.png) no-repeat -999em -999em;}';document.getElementsByTagName('body')[0].appendChild(obj)</script>
      

  5.   

    用JQ,你CSS怎么写的,几乎差不多一样就改变了:$("#tao-nav .b_l,#tao-nav .b_r,#tao-nav .wrap,#tao-nav .nav li,#tao-nav .nav li s").css("background-image","url(http://www.tk0752.com/images/taoNav.png)");