如何以编程方式更改div的样式

时间:2008-09-20 19:46:43

标签: asp.net asp.net-mvc

如何更改div的样式(颜色),如下所示?

"<div id=foo class="ed" style="display: <%= ((foo.isTrue) ? string.Empty : "none") %>">
                        <%= ((foo.isTrue) ? foo.Name: "false foo") %>"`

8 个答案:

答案 0 :(得分:9)

试试这个: 在.aspx文件中放置了这些行

<div id="myDiv" runat="server">
    Some text
</div>

然后你可以使用例如

myDiv.Style["color"] = "red";

答案 1 :(得分:7)

如果要使用浏览器中运行的客户端代码(javascript)更改div的颜色,请执行以下操作:

<script>
 var fooElement = document.getElementById("foo");
 fooElement.style.color = "red"; //to change the font color
</script>

答案 2 :(得分:4)

如果您想直接更改类而不是样式: ie ..用你想要的样式创建另一个类......

myDiv.Attributes["class"] = "otherClassName"

答案 3 :(得分:2)

看起来你正在编写ASP,或者可能是JSP。我对这两种语言都不太熟悉,但无论你使用什么语言,原则都是一样的。

如果您使用的是有限数量的颜色,那么通常的选择是在样式表中为它们创建许多类并编写规则集:


.important { background: red; }
.todo { background: blue; }

等等。

然后让服务器端脚本生成HTML以使CSS匹配:


<div class="important">

当然,你也应该ensure that the information is available through means other than colour

如果在运行时确定颜色,则可以生成样式属性:


<div style="background-color: red;">

答案 4 :(得分:2)

您应该在CSS中设置颜色,然后以编程方式更改CSS类。例如:

(CSS)

div.Error {
  color:red;
}

(ASP.NET/VB)

<div class='<%=Iif(HasError, "Error", "")%>'> .... </div>

答案 5 :(得分:1)

通常,您可以直接进行

document.getElementById(“myDiv”)。style.color =“red”;

有一个参考here

答案 6 :(得分:0)

该代码片段没有多说 - 如果代码是服务器端,为什么不更改,例如那里的HTML元素的类?

答案 7 :(得分:0)

IMO这是更好的方法。我在其他帖子中发现了其中一些内容,但该帖子首先出现在Google搜索中。

这部分适用于标准JavaScript。我很确定您可以使用它删除所有样式以及添加/覆盖。

var div = document.createElement('div');
div.style.cssText = "border-radius: 6px 6px 6px 6px; height: 250px; width: 600px";

var div = document.getElementById('foo');
div.style.cssText = "background-color: red;";

这仅适用于jQuery

$("#" + TDDeviceTicketID).attr("style", "padding: 10px;");
$("#" + TDDeviceTicketID).attr("class", "roundbox1");

This works for removing it JQUERY
$("#" + TDDeviceTicketID).removeAttr("style");
$("#" + TDDeviceTicketID).removeAttr("class");