Атрибуты.Добавить («класс», «имя_класса»), но сохранить существующий класс

#css #vb.net #class

#css — код #vb.net #класс

Вопрос:

Простая вещь, ну, я думаю, что это так.

Мне нужно добавить класс к элементу в asp:repeater при определенных условиях, используя VB.

Итак, я могу сделать

 ITEMID.Attributes.Add("class", "classToAdd")
 

Но это удаляет существующие классы и, следовательно, портит мой CSS.

 ITEMID.Attributes("class") = "classToAdd"
 

Кажется, он делает то же самое.

Как мне добавить класс к элементу, сохранив при этом его существующие значения класса?

Ответ №1:

Используйте = для добавления дополнительного класса и убедитесь, что вы оставили пробел, иначе он будет отображаться как currentClassclassToAdd , где находится текущий класс currentClass :

 ITEMID.Attributes("class")  = " classToAdd"
 

Это то же самое, что делать:

 ITEMID.Attributes("class") = ITEMID.Attributes("class")   " classToAdd"
 

Поэтому:

 ITEMID.Attributes("class") = "currentClass"   " classToAdd"
 

Комментарии:

1. И для тех из нас, кто вместо этого использует C #, это правильный синтаксис: ITEMID.Attributes["class"] = " classToAdd"

Ответ №2:

Вам нужно сложить их:

 Dim existingClasses as string = ITEMID.Attributes("class")

ITEMID.Attributes.Add("class", existingClasses amp; " classToAdd")