SetClass()

Replaces all CSS classes on an element with the specified class string. Unlike AddClass(), this removes existing classes.

Syntax
MaterialSB::SetClass(Element, Class.s)
Parameters
Element The DOM element to set the class on.
Class.s The complete class string to set (replaces all existing classes).
Return Value

None.

Remarks

Warning: This function replaces all classes on the element. If you need to preserve existing classes, use AddClass() instead.

Be careful when using this on MaterialSB components, as removing their base classes may break styling or functionality.

Example
Global myCard

Procedure SetBlueTheme()
  ; Replace all classes - must include base "card" class
  MaterialSB::SetClass(myCard, "card blue lighten-4")
  MaterialSB::Toast("Blue theme applied")
EndProcedure

Procedure SetGreenTheme()
  MaterialSB::SetClass(myCard, "card green lighten-4")
  MaterialSB::Toast("Green theme applied")
EndProcedure

Procedure ResetTheme()
  MaterialSB::SetClass(myCard, "card")
  MaterialSB::Toast("Theme reset")
EndProcedure

Procedure Main(Success)
  If Success
    MaterialSB::Row(MaterialSB::#Grid_Container)
      MaterialSB::Col(12, 6)
        myCard = MaterialSB::Card()
          MaterialSB::CardContent()
            MaterialSB::Append(MaterialSB::Header("Themed Card", 4))
            MaterialSB::Append(MaterialSB::Paragraph("Click the buttons below to change this card's theme."))
          MaterialSB::CloseCurrentParent()
        MaterialSB::CloseCurrentParent()
        
        MaterialSB::Button("Blue Theme", @SetBlueTheme())
        MaterialSB::Button("Green Theme", @SetGreenTheme())
        MaterialSB::Button("Reset", @ResetTheme(), MaterialSB::#Button_Outlined)
        
      MaterialSB::CloseCurrentParent()
    MaterialSB::CloseCurrentParent()
  EndIf
EndProcedure

MaterialSB::Download(@Main())
See Also

AddClass(), SetAttribute()