# element

DOM 元素操作工具函数

## Functions

### getBoundingClientRect

获取元素的位置和尺寸

```ts
function getBoundingClientRect(el: Element): DOMRect
```

### scrollTo

平滑滚动到指定位置

```ts
function scrollTo(options?: ScrollToOptions): void
```

### addClass

添加 CSS 类名

```ts
function addClass(el: HTMLElement, className: string | string[]): void
```

### removeClass

移除 CSS 类名

```ts
function removeClass(el: HTMLElement, className: string | string[]): void
```

### toggleClass

切换 CSS 类名

```ts
function toggleClass(el: HTMLElement, className: string): void
```

### hasClass

检查是否包含 CSS 类名

```ts
function hasClass(el: HTMLElement, className: string): boolean
```

### style

设置或获取元素样式

```ts
function style(el: HTMLElement, prop?: string, value?: string): string | void
```

### attr

设置或获取元素属性

```ts
function attr(el: HTMLElement, name: string, value?: string): string | void
```

### remove

移除元素

```ts
function remove(el: HTMLElement): void
```

### createEl

创建 DOM 元素

```ts
function createEl(tag: string, className?: string, html?: string): HTMLElement
```

## Example

```ts
import { addClass, removeClass, hasClass, scrollTo } from '@allkit/shared'

const el = document.querySelector('.box')

addClass(el, 'active')
removeClass(el, 'disabled')
hasClass(el, 'active')

scrollTo({ top: 0, behavior: 'smooth' })
```
