UniElement
UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。
UniElement 的属性值
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
classList | Array<string> | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | x | 4.0 | 4.11 | x |
| 只读属性 获取当前元素的的 class 属性的动态集合。 |
firstChild | UniElement | 否 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | x | 4.0 | 4.11 | 4.25 |
| 只读属性 获取当前元素的的第一个子元素,如果元素是无子元素,则返回 null。 |
lastChild | UniElement | 否 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | x | 4.0 | 4.11 | 4.25 |
| 只读属性 获取当前元素的最后一个子元素,如果没有子元素,则返回 null。 |
parentElement | UniElement | 否 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | x | 4.0 | 4.11 | 4.25 |
| 只读属性 获取当前元素在 DOM 树中的父元素,如果没有父元素(如未添加到DOM树中),则返回null。 |
previousSibling | UniElement | 否 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | x | 4.0 | 4.11 | 4.25 |
| 只读属性 获取当前元素的前一个同级元素,没有则返回null。 |
nextElementSibling | UniElement | 否 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | x | 4.0 | 4.11 | 4.25 |
| 只读属性 获取在 DOM 树中紧跟在其后面的同级元素,如果指定的元素为最后一个元素,则返回 null。 |
children | Array<UniElement> | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | x | 4.0 | 4.11 | 4.25 |
| 只读属性 获取当前元素包含的子元素的集合 |
tagName | string | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.41 | 4.0 | 4.11 | 4.25 |
| 只读属性 获取当前元素的标签名 |
nodeName | string | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | x | 4.0 | 4.11 | 4.25 |
| 只读属性 获取当前元素的元素名称 |
dataset | Map<string, any> | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.41 仅在event对象内的target上可用 | 4.0 | 4.11 | x |
| 只读属性 获取元素上自定义数据属性(data-*)的集合 |
attributes | Map<string, any> | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | x | 4.0 | 4.11 | 4.25 |
| 只读属性 获取元素上所有属性元素的集合 |
style | CSSStyleDeclaration | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.41 | 4.0 | 4.11 | 4.25 |
| 只读属性 获取元素的CSS样式对象 |
scrollWidth | number | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | x | 4.0 | 4.11 | 4.25 |
| 只读属性 获取可滚动元素内容的总宽度,仅scroll-view、list-view组件支持,其他组件返回视图宽度 |
scrollHeight | number | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | x | 4.0 | 4.11 | 4.25 |
| 只读属性 获取可滚动元素内容的总高度,仅scroll-view、list-view组件支持,其他组件返回视图高度 |
scrollLeft | number | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | x | 4.0 | 4.11 | 4.25 |
| 获取或修改元素滚动条到元素左边的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0 |
scrollTop | number | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | x | 4.0 | 4.11 | 4.25 |
| 获取或修改元素滚动条到元素顶部的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0 |
offsetLeft | number | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.41 仅在event对象内的target上可用 | 4.0 | 4.11 | 4.25 |
| 只读属性 元素的左边界偏移值 单位px |
offsetTop | number | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | 4.41 仅在event对象内的target上可用 | 4.0 | 4.11 | 4.25 |
| 只读属性 元素的顶部边界偏移值 单位px |
offsetWidth | number | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | x | 4.0 | 4.11 | 4.25 |
| 只读属性 元素的布局宽度,宽度包含border、padding的数据值 单位px |
offsetHeight | number | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | x | 4.0 | 4.11 | 4.25 |
| 只读属性 元素的布局高度,高度包含border、padding的数据值 单位px |
ext | Map<string, any> | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
|
iOS uni-app x UTS 插件
| 4.0 | x | 4.0 | 4.11 | x |
| 只读属性 扩展属性 |
style
App端
获取的是元素对象计算后的CSS样式集合对象,包括通过样式选择器设置的CSS样式。
Web端
获取的是元素对象style属性设置的CSS样式集合对象,不包括通过样式选择器设置的CSS样式。
小程序端
获取的是元素对象style属性设置的CSS样式集合对象(仅限通过 UniElement.style 的API设置的),不包括通过样式选择器设置的CSS样式,也不包含在模板上绑定的style属性。
方法
appendChild(aChild: UniElement): void
将一个元素添加到指定父元素的子元素列表的末尾处。如果将被插入的元素已经存在于当前文档的文档树中,那么将会它从原先的位置移动到新的位置。
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
aChild | UniElement | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
| 4.0 | - | 4.0 | 4.11 |
| 插入子元素对象 |
appendChild 兼容性
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | x | 4.0 | 4.11 | 4.25 |
insertBefore(newChild: UniElement, refChild?: UniElement | null): UniElement | null
在参考元素之前插入一个拥有指定父元素的子元素。如果给定的子元素是对文档中现有元素的引用,insertBefore() 会将其从当前位置移动到新位置。
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
newChild | UniElement | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
| 4.0 | - | 4.0 | 4.11 |
| 插入子元素对象 |
refChild | UniElement | 否 | - |
Web
|
微信小程序
|
Android
|
iOS
| 4.0 | - | 4.0 | 4.11 |
| 已存在父元素的子元素对象 |
返回值
insertBefore 兼容性
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | x | 4.0 | 4.11 | 4.25 |
insertBefore(newChild: UniElement): UniElement | null
将一个元素添加到指定父元素的子元素列表的末尾处 功能等同于appendChild
insertBefore 兼容性
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | x | 4.0 | 4.11 | 4.25 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
newChild | UniElement | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
| 4.0 | - | 4.0 | 4.11 |
| 插入子元素对象 |
返回值
setAttribute(key: string, value: string): void
设置指定元素上的某个属性值。如果设置的属性已经存在,则更新该属性值;否则使用指定的名称和值添加一个新的属性。
注意
- setAttribute从HBuilderX 3.93起,调整为只能保存string类型属性值,需要保存其它类型数据请使用dataset属性。
- 为保证多端一致setAttribute不应用于修改本文档中的UniElement属性,如有此类需求应使用element.xxx设置,如element.scrollTop。其余绑定到内置组件的属性也尽量使用数据驱动而不是绕过vue去设置。
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
key | string | 是 | - | - | 属性名称 |
value | string | 是 | - | - | 属性值域 |
setAttribute 兼容性
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | x | 4.0 | 4.11 | 4.25 |
App平台
app平台 setAttribute 不支持设置 class、style 属性,设置了也不会生效,class 属性需在 uvue/vue 页面中设置,style 信息可以通过 style 属性设置。
getAttribute(key: string): string | null
获取元素指定的属性值,如果指定的属性不存在则返回null。
注意
- getAttribute返回值从HBuilderX 3.93起,调整为string类型,不要使用此方法获取非string类型的属性值。如有非string需求,请使用对象的点操作符直接访问dateset属性,不通过getAttribute方法。
- 为保证多端一致getAttribute不应用于获取本文档中的UniElement属性,如有此类需求应使用element.xxx获取,如element.scrollTop。
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
key | string | 是 | - | - | 属性名称 |
返回值
getAttribute 兼容性
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 4.0 | 4.11 | 4.25 |
App平台
app平台 getAttribute 不支持获取 class、style 属性, uvue/vue 页面中设置的 class 属性暂不支持通过 UniElement 对象获取,style 信息可以通过 style 属性获取。
hasAttribute(key: string): boolean
返回改元素是否包含有指定的属性,属性存在则返回true,否则返回false。
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
key | string | 是 | - | - | 属性名称 |
返回值
hasAttribute 兼容性
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | x | 4.0 | 4.11 | 4.25 |
removeAttribute(key: string): void
从元素中删除一个属性,如果指定的属性不存在,则不做任何操作,也不会产生错误。
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
key | string | 是 | - | - | 属性名称 |
removeAttribute 兼容性
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | x | 4.0 | 4.11 | 4.25 |
getAndroidView(): View | null
获取元素android原生view 可能返回null
返回值
getAndroidView 兼容性
Web | 微信小程序 | Android | iOS |
x | x | 4.25 | x |
getAndroidView获取原生View:
更多示例请参考 uts 插件 uts-get-native-view
注意事项:
- 安卓平台页面渲染时元素才会构建View,所以元素刚创建就获取View大概率是null,推荐页面onReady时获取。
- 安卓平台获取的原生View尽可能的避免设置View的background属性,会导致元素background、border、boxshadow css效果失效或设置的background不生效,与设置background时机有关。
getAndroidView<T>(): T | null
获取元素android原生view 通过泛型定义view类型 可能返回null
返回值
getAndroidView 兼容性
Web | 微信小程序 | Android | iOS |
x | x | 4.25 | x |
getAndroidView通过泛型定义获取原生View:
获取到原生的WebView对象后,可以直接使用其所有属性和方法。原生对象的方法非常多,远多于 uni-app x 封装的API。这些方法都可以直接调用了。
在 hello uni-app x 的 组件 -> web-view 示例中,获取原生WebView对象,然后进一步使用了可否前进后退的方法。
可通过getAndroidView泛型明确定义View类型的组件:
注意事项:
- 安卓平台页面渲染时元素才会构建View,所以元素刚创建就获取View大概率是null,推荐页面onReady时获取。
- 安卓平台获取的原生View尽可能的避免设置View的background属性,会导致元素background、border、boxshadow 失效或设置的background不生效,与设置background时机有关。
getAndroidActivity(): Activity | null
获取元素android原生activity 可能返回null
返回值
getAndroidActivity 兼容性
Web | 微信小程序 | Android | iOS |
x | x | 4.25 | x |
getBoundingClientRect(): DOMRect
获取元素的大小及其相对于窗口的位置信息。
返回值
getBoundingClientRect 兼容性
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | x | 4.0 | 4.11 | 4.25 |
getBoundingClientRectAsync(options?: GetBoundingClientRectAsyncOptions | null): Promise<DOMRect> | null
获取元素的大小及其相对于窗口的位置信息 异步。
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
options | GetBoundingClientRectAsyncOptions | 否 | - | - | |
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 | success | (rect: DOMRect) => void | 否 | - | - | | fail | () => void | 否 | - | - | | complete | (rect?: any) => void | 否 | - | - | |
|
返回值
getBoundingClientRectAsync 兼容性
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
4.41 | 4.41 | 4.41 | 4.41 | x |
示例
hello uni-app x
getDrawableContext(): DrawableContext | null
获取组件的绘制对象,仅uvue页面中的 view 组件支持,其它组件不支持则返回null。
返回值
getDrawableContext 兼容性
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
x | x | 3.9 | 4.11 | 4.25 |
getIOSView(): UIView | null
获取元素ios原生view
返回值
getIOSView 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
x | x | x | x | x | 4.25 |
getIOSView 获取原生 View:
获取到原生的WebView对象后,可以直接使用其所有属性和方法。原生对象的方法非常多,远多于 uni-app x 封装的API。这些方法都可以直接调用了。
在 hello uni-app x 的 组件 -> web-view 示例中,获取原生WebView对象,然后进一步使用了可否前进后退的方法。
组件对应原生 View 类型:
注意事项:
- iOS平台 uvue 环境使用 js 驱动无法处理原生类型,getIOSView 方法需要在 uts 插件中使用。
- iOS平台页面渲染时元素才会构建View,所以元素刚创建就获取 View 大概率是 null,推荐页面 onReady 时获取。
addEventListener<T extends UniEvent, R>(type: string, callback: (event: T) => R): UniCallbackWrapper
将指定的监听器注册到元素对象上,当该对象触发指定的事件时,指定的回调函数就会被执行。
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
type | string | 是 | - | - | 事件类型 |
callback | (event: T) => R | 是 | - | - | 事件监听器 T表示event类型,R表示返回值类型 |
返回值
类型 | 描述 |
UniCallbackWrapper | 事件回调封装类,用于注销监听函数的形参 |
addEventListener 兼容性
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
x | x | 4.0 | 4.11 | x |
removeEventListener(type: string, callbackWrapper: UniCallbackWrapper): void
删除使用 addEventListener 方法添加的事件监听器。
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
type | string | 是 | - | - | 事件类型 |
callbackWrapper | UniCallbackWrapper | 是 | - | - | 事件监听回调封装类 |
removeEventListener 兼容性
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
x | x | 4.0 | 4.11 | 4.25 |
removeChild(aChild: UniElement): UniElement | null
从元素中删除一个子元素,返回删除的元素。
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
aChild | UniElement | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
| 4.0 | - | 4.0 | 4.11 |
| 被删除子元素对象 |
返回值
removeChild 兼容性
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | x | 4.0 | 4.11 | 4.25 |
remove(): void
把元素对象从它所属的 DOM 树中删除。
remove 兼容性
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | x | 4.0 | 4.11 | 4.25 |
使界面滚动到给定元素的指定坐标位置 仅scroll-view、list-view组件支持
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
x | number | 是 | - | - | x轴要滚动到坐标位置(单位px) |
y | number | 是 | - | - | y轴要滚动到坐标位置(单位px) |
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | x | 4.0 | 4.11 | 4.25 |
使得元素滚动一段特定距离 仅scroll-view、list-view组件支持
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
x | number | 是 | - | - | x轴要滚动的距离(单位px) |
y | number | 是 | - | - | y轴要滚动的距离(单位px) |
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | x | 4.0 | 4.11 | 4.25 |
querySelector(selector: string.cssSelectorString): UniElement | null
返回文档中与指定选择器或选择器组匹配的第一个 Element对象。如果找不到匹配项,则返回null
参数
返回值
querySelector 兼容性
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | x | 4.0 | 4.11 | 4.25 |
querySelectorAll(selector: string.cssSelectorString): UniElement[] | null
返回与指定的选择器组匹配的文档中的元素列表
参数
返回值
querySelectorAll 兼容性
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | x | 4.0 | 4.11 | 4.25 |
focus(): void
使元素获取焦点 仅input、Textarea组件支持
focus 兼容性
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | x | 4.0 | 4.11 | 4.25 |
blur(): void
使元素丢失焦点 仅input、Textarea组件支持
blur 兼容性
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
4.0 | x | 4.0 | 4.11 | 4.25 |
takeSnapshot(options: TakeSnapshotOptions): void
对当前组件进行截图,调用此方法会将当前组件(包含子节点)渲染结果导出成图片。
成功会返回图片对应的临时文件路径,目前默认png格式
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
options | TakeSnapshotOptions | 是 | - | - | 组件截图的参数对象 |
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 | type | string | 否 | "file" | - | 截图导出类型,目前仅支持 'file' 保存到临时文件目录 | format | string | 否 | "png" | - | 截图文件格式,目前仅支持 'png' | success | (res: TakeSnapshotSuccess) => void | 否 | - | - | 接口调用成功的回调函数 | fail | (res: TakeSnapshotFail) => void | 否 | - | - | 接口调用失败的回调函数 | complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) |
|
TakeSnapshotSuccess 的属性值
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
tempFilePath | string | 是 | - | - | 截图保存的临时文件路径 |
TakeSnapshotFail 的属性值
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
errMsg | string | 是 | - | - | - |
takeSnapshot 兼容性
Web | 微信小程序 | Android | iOS | iOS uni-app x UTS 插件 |
x | x | 3.93 | 4.11 | 4.25 |
示例
hello uni-app x
该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验
完整示例代码参考hello uni-app x
- 截图会在应用沙盒目录的cache目录产生临时文件,位置详见。
- app端如需主动删除临时文件,使用uni.getFileSystemManager。
- app端list-view、web-view组件性能优化仅渲染屏幕显示的内容,所以截图仅能截取到当前屏幕展示的内容。
- app端scroll-view组件设置padding后,截图内容不会包含padding区域。
- app端由于组件背景默认透明,所以截图图片默认底色为白色。
getPage(): UniPage | null
获取元素所属的页面对象
返回值
getPage 兼容性
Web | 微信小程序 | Android | iOS |
4.31 | x | 4.31 | 4.31 |
animate(keyframes : any, options : any) : UniAnimation | null
创建一个新的动画并应用于元素,然后立即执行动画。
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
keyframes | any | 是 | - | - | 关键帧对象数组或一个关键帧对象。 |
options | any | 是 | - | - | 动画属性配置。 |
返回值
类型 | 必备 |
UniAnimation | 否 |
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 | id | string | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
| x | x | 4.51 | x |
| 获取或设置用于标识动画的字符串 | playState | string | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
| x | x | 4.51 | x |
| 返回动画播放状态。可选值:running 动画正在运行;paused 动画暂停;finished 动画播放完成;idle 动画取消或者失败 | oncancel | (event: UniAnimationPlaybackEvent) => void | 否 | - |
Web
|
微信小程序
|
Android
|
iOS
| x | x | 4.51 | x |
| 监听动画取消事件 | onfinish | (event: UniAnimationPlaybackEvent) => void | 否 | - |
Web
|
微信小程序
|
Android
|
iOS
| x | x | 4.51 | x |
| 监听动画完成事件 |
|
UniAnimation 的方法
cancel() : void
终止并取消所有动画
cancel 兼容性
Web | 微信小程序 | Android | iOS |
x | x | 4.51 | x |
finish() : void
动画跳转到最后一毫秒并立即播放完成
finish 兼容性
Web | 微信小程序 | Android | iOS |
x | x | 4.51 | x |
pause() : void
暂停动画播放
pause 兼容性
Web | 微信小程序 | Android | iOS |
x | x | 4.51 | x |
play() : void
开始或恢复动画播放
play 兼容性
Web | 微信小程序 | Android | iOS |
x | x | 4.51 | x |
animate 兼容性
Web | 微信小程序 | Android | iOS |
x | x | 4.51 | x |