--- title: Constructor path: /v6/constructor/ index: 2 --- The `tippy()` constructor (a plain function) creates individual tippy instances. To give the tippy content you have two options: ### Attribute With some elements on the document: ```html ``` Call the `tippy()` constructor with a CSS selector matching them: ```js tippy('[data-tippy-content]'); ``` ### Prop If targeting a single element, you can use the `content` prop instead of the attribute: ```js tippy('#singleElement', { content: 'Tooltip', }); ``` > **Note** > > Tippy will create tooltips for elements even if you forget to give them > content, resulting in an odd small shaped tooltip. Ensure your CSS selector is > specific enough to guarantee their content. ### Target types The first argument you pass to `tippy()` is the targets you want to give tooltips to. This can represent one or many different elements. ```js // String (CSS selector matching elements on the document) tippy('#id'); tippy('.class'); tippy('[data-tippy-content]'); // Element tippy(document.getElementById('my-element')); // Element[] tippy([element1, element2, element3]); // NodeList tippy(document.querySelectorAll('.my-elements')); ``` ### Disabled elements If an element is disabled, you will need to use a wrapper element (`` or `
`) in order for the tippy to work. Elements with the disabled attribute aren't interactive, meaning users cannot focus, hover, or click them to trigger a tippy. ```html ``` Please note that this has accessibility concerns and should be avoided if possible.