首页 > 关于JS将获取到的样式附值给另外一个DIV的问题,求大神帮助;

关于JS将获取到的样式附值给另外一个DIV的问题,求大神帮助;

求大神指教,如下代码我想将变量 width2获取到的 "odiv3"里面的行间样式的宽度,附值给odiv1;按我这的这种写法alert弹出来的是obj而不是获取到的1000px这个数值;求大神给指教应该怎么写才行呀。按我的思路是,将odiv3里面行间样式的宽度获取到然后由下面odiv1在调用附值的时候直接调变量 width2就可以了呀。但我现在写的不得行。谢谢哈。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <script>
        function css(){
            if(arguments.length===2){
                return arguments[0].style[arguments[1]];
            }
            else{
                return arguments[0].style[arguments[1]]=arguments[2];
            }
        }
        window.onload = function(){
            var odiv1=document.getElementById('odi1');
            var width2=document.getElementById('odiv3');
                css(width2,'width');
            alert(css(odiv1, 'width'));
            alert(css(odiv1, 'width', width2));
        }
        </script>
    </head>
    <body>
     <div id="odi1" style="width:100px;height: 40px;background-color: #089376;line-height: 40px;text-align: center;color: #fff;">这是文字</div><br/>
     <div id="odiv3" style="width:1000px;height: 40px;background-color: #089376;line-height: 40px;text-align: center;color: #fff;">这是文字</div>
    </body>
</html>

else 语句中.arguments[2]是一个DOM对象,复制给style这的问题.. 而且给style赋值不是这样的,你再查查手册?


return arguments[0].style[arguments[1]]=arguments[2].style[arguments[1]];


先分析你的问题:这句 return arguments[0].style[arguments[1]] = arguments[2]; 返回的是arguments[2],即 var width2=document.getElementById('odiv3'); ,alert 的内容自然就是[object HTMLDivElement]。
这是我的答案:return arguments[0].style[arguments[1]] = css(arguments[2], "width");
完整代码如下:
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script>
    function css(){
        if(arguments.length===2){
            return arguments[0].style[arguments[1]];
        }
        else{
            return arguments[0].style[arguments[1]] = css(arguments[2], "width");
        }
    }
    window.onload = function(){
        var odiv1=document.getElementById('odi1');
        var width2=document.getElementById('odiv3');
        alert(css(width2,'width'));
        alert(css(odiv1, 'width'));
        alert(css(odiv1, 'width', width2));
    }
    </script>
</head>
<body>
 <div id="odi1" style="width:100px;height: 40px;background-color: #089376;line-height: 40px;text-align: center;color: #fff;">这是文字</div><br/>
 <div id="odiv3" style="width:1000px;height: 40px;background-color: #089376;line-height: 40px;text-align: center;color: #fff;">这是文字</div>
</body>

</html>

【热门文章】
【热门文章】