Search code examples
javascriptangularjsangularjs-scopestring-concatenation

How to set the id attribute of a HTML element dynamically with angularjs (1.x)?


Provided an HTML element of type div, how to set the value of its id attribute, which is the concatenation of a scope variable and a string ?


Solution

  • ngAttr directive can totally be of help here, as introduced in the official documentation

    https://docs.angularjs.org/guide/interpolation#-ngattr-for-binding-to-arbitrary-attributes

    For instance, to set the id attribute value of a div element, so that it contains an index, a view fragment might contain

    <div ng-attr-id="{{ 'object-' + myScopeObject.index }}"></div>
    

    which would get interpolated to

    <div id="object-1"></div>