2021-10-17 18:26:00 +02:00
---
2021-10-16 15:42:30 +02:00
title: Point.attr()
2021-10-17 18:26:00 +02:00
---
2021-08-25 16:09:31 +02:00
2022-09-27 19:15:57 +02:00
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.
2021-10-16 15:42:30 +02:00
2022-09-27 19:15:57 +02:00
## Signature
2021-11-06 19:03:54 +01:00
2021-08-25 16:09:31 +02:00
```js
Point point.attr(
2022-12-30 07:47:29 -08:00
string name,
mixed value,
2021-08-25 16:09:31 +02:00
bool overwrite = false
)
```
2021-10-16 15:42:30 +02:00
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.
2021-08-25 16:09:31 +02:00
2024-09-29 07:14:59 +02:00
:::tip
This method is chainable as it returns the `Point` object
:::
2021-08-25 16:09:31 +02:00
2022-09-27 19:15:57 +02:00
## Example
2021-08-25 16:09:31 +02:00
2022-09-27 19:15:57 +02:00
<Example caption="An example of the Point.attr() method">
```js
({ Point, points, Path, paths, part }) => {
2024-09-29 07:14:59 +02:00
points.anchor = new Point(100, 25)
.attr('data-text', 'FreeSewing')
.attr('data-text', 'rocks')
2022-09-27 19:15:57 +02:00
2024-09-29 07:14:59 +02:00
// Avoid the text getting cropped
paths.hidden = new Path()
.move(points.anchor)
.line(points.anchor.shift(0, 80))
.addClass('hidden')
2022-12-30 07:47:29 -08:00
2024-09-29 07:14:59 +02:00
return part
2022-09-27 19:15:57 +02:00
}
2024-09-29 07:14:59 +02:00
2021-08-25 16:09:31 +02:00
```
2022-09-27 19:15:57 +02:00
</Example>
2022-12-14 21:24:28 -08:00
## Notes
See [Using Attributes](/howtos/code/attributes)
for information about custom Attributes that can be used with Points.
2024-09-29 07:14:59 +02:00
```