---
title: Point.attr()
---
The `Point.attr()` method adds an attribute to the point, and returns the
original point. Setting the third parameter to `true` will replace the value of
the attribute instead of adding it.
## Signature
```js
Point point.attr(
string name,
mixed value,
bool overwrite = false
)
```
If the third parameter is set to `true` it will call [`this.attributes.set()`](/reference/api/attributes/set/) instead, thereby overwriting the value of the attribute.
:::tip
This method is chainable as it returns the `Point` object
:::
## Example
<Example caption="An example of the Point.attr() method">
```js
({ Point, points, Path, paths, part }) => {
points.anchor = new Point(100, 25)
.attr('data-text', 'FreeSewing')
.attr('data-text', 'rocks')
// Avoid the text getting cropped
paths.hidden = new Path()
.move(points.anchor)
.line(points.anchor.shift(0, 80))
.addClass('hidden')
return part
}
```
</Example>
## Notes
See [Using Attributes](/howtos/code/attributes)
for information about custom Attributes that can be used with Points.
```