function element_set_attributes

Sets HTML attributes based on element properties.

Parameters

$element: The renderable element to process.

$map: An associative array whose keys are element property names and whose values are the HTML attribute names to set for corresponding the property; e.g., array('#propertyname' => 'attributename'). If both names are identical except for the leading '#', then an attribute name value is sufficient and no property name needs to be specified.

12 calls to element_set_attributes()
theme_button in includes/form.inc
Returns HTML for a button form element.
theme_checkbox in includes/form.inc
Returns HTML for a checkbox form element.
theme_fieldset in includes/form.inc
Returns HTML for a fieldset form element and its children.
theme_file in includes/form.inc
Returns HTML for a file upload form element.
theme_form in includes/form.inc
Returns HTML for a form.

... See full list

File

includes/common.inc, line 6803

Code

function element_set_attributes(array &$element, array $map) {
    foreach ($map as $property => $attribute) {
        // If the key is numeric, the attribute name needs to be taken over.
        if (is_int($property)) {
            $property = '#' . $attribute;
        }
        // Do not overwrite already existing attributes.
        if (isset($element[$property]) && !isset($element['#attributes'][$attribute])) {
            $element['#attributes'][$attribute] = $element[$property];
        }
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.