Как изменить стиль div программно?

Как изменить стиль (цвет) div, как показано ниже?

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

person Joe    schedule 20.09.2008    source источник


Ответы (8)


Если вы хотите изменить цвет div с кодом на стороне клиента (javascript), работающим в браузере, вы делаете что-то вроде следующего:

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

Попробуйте это: в файле .aspx поместите эти строки

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

то вы можете использовать, например

myDiv.Style["color"] = "red";
person starec    schedule 20.09.2008

Если вы хотите напрямую изменить класс, а не стиль: т.е. создать другой класс с нужным вам стилем...

myDiv.Attributes["class"] = "otherClassName"
person Ben Call    schedule 09.07.2010

Вы должны установить свои цвета в CSS, а затем программно изменить класс CSS. Например:

(CSS)

div.Error {
  color:red;
}

(ASP.NET/ВБ)

<div class='<%=Iif(HasError, "Error", "")%>'> .... </div>
person Herb Caudill    schedule 20.09.2008

Похоже, вы пишете ASP или, может быть, JSP. Я не слишком хорошо знаком ни с одним из языков, но принципы одинаковы независимо от того, на каком языке вы работаете.

Если вы работаете с ограниченным количеством цветов, то обычным вариантом является создание нескольких классов и запись наборов правил для них в вашей таблице стилей:


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

И так далее.

Затем ваш скрипт на стороне сервера сгенерирует HTML для соответствия CSS:


<div class="important">

Вы должны, конечно, убедиться, что информация доступна не только цветом, но и другими средствами.

Если цвета определяются во время выполнения, вы можете сгенерировать атрибуты стиля:


<div style="background-color: red;">
person Quentin    schedule 20.09.2008

Как правило, вы можете сделать это напрямую

document.getElementById("myDiv").style.color = "красный";

Ссылка здесь.

person Joe Skora    schedule 20.09.2008

Этот фрагмент кода мало что говорит - если код на стороне сервера, почему бы вам не изменить, например. класс элемента HTML там?

person unexist    schedule 20.09.2008

ИМО это лучший способ сделать это. Я нашел кое-что из этого в других постах, но этот появляется первым в поиске Google.

Эта часть работает для стандартного JavaScript. Я почти уверен, что вы можете использовать его для удаления всех стилей, а также для добавления/перезаписи.

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

OR

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");
person Deathstalker    schedule 12.05.2020