0

我正在尝试更改 gridview 页脚样式的样式,因为基于 IE9 中的三个条件更改了聚合页脚对齐方式,但它只是不断向我抛出未定义的错误,我的问题是如何更改样式任何帮助表示赞赏:

.rgFooter, .rgFooterDiv
    {
        background: none !important;
        background-color: transparent !important;
        width: 100% !important;
        /*max-width:779px;*/
    }

到:

.rgFooter, .rgFooterDiv
    {
        background: none !important;
        background-color: transparent !important;
        width: 100% auto!important;
}

只使用 javascript 没有 JQuery。到目前为止我尝试过:

var mydiv = document.getElementById("mygrid").className;
mydiv.setAttribute("style", "width: 100% auto !important;  background: none !important; background-color: transparent !important;");

感谢大家的帮助

4

5 回答 5

1

如果你不能使用 jQuery,也许你应该使用它的addClassandremoveClass函数。您可以在这里看到它们用纯 JavaScript 重写:https ://stackoverflow.com/a/14105067/1026459

您的调用setAttribute不起作用的原因是您所做的引用是对元素类的字符串的引用。

var mydiv = document.getElementById("mygrid").className;

也许您应该像这样访问 div :

var mydiv = document.getElementById("mygrid");

然后您将可以访问setAttribute. 要简单地从 div 中删除所有类,您可以随时使用

mydiv.removeAttribute("class");
于 2013-02-05T00:01:48.930 回答
1

内联样式无需使用“!important”。如果你想使用 javascript 设置内联样式而不使用任何库,我会推荐这样的东西:

var mydiv = document.getElementById("mygrid");
mydiv.style.width = "100% auto";
mydiv.style.background = "none";
mydiv.style.backgroundColor = "transparent";

我猜你的代码有问题

var mydiv = document.getElementById("mygrid").className; // mydiv variable is a string
mydiv.setAttribute(...); // Why would a string have "setAttribute" function?
于 2013-02-05T00:04:31.757 回答
0

className属性返回一个字符串,而不是您可以用来访问该元素的对象。只需删除它:

var mydiv = document.getElementById("mygrid");
于 2013-02-05T00:01:53.747 回答
0

首先,您不想访问元素的“className”属性;你只需要元素。

var mydiv = document.getElementById("mygrid");

然后,您应该设置样式对象的各个属性:

mydiv.style.width = '100%';
mydiv.style.backgroundColor = 'transparent';

等等。如果你想摆脱所有类,你可以这样做:

mydiv.className = '';
于 2013-02-05T00:01:58.327 回答
0

添加了另一个CSS:

.rgmine
    {
        background: none !important;
        background-color: transparent !important;
        width: auto !important;       
    } 

然后根据第三个条件更改类名:

<script type="text/javascript">
    function pageLoad() {                
            document.getElementById('ctl00_Body_rgWMTSI_GridFooter').className = 'rgmine'}

</script>
于 2013-02-05T00:08:56.523 回答