diff --git a/docs/api/get-element-by-id.md b/docs/api/get-element-by-id.md index 249ec96b02cc8ef3ca75c08b57fdb2a1598666ff..30870db89fe5dd5dcd4821eee71b37721040b389 100644 --- a/docs/api/get-element-by-id.md +++ b/docs/api/get-element-by-id.md @@ -5,11 +5,12 @@ **注意:** \ -本方法获取的元素,是页面栈栈顶(不包括 dialogPage)的页面的元素,而不是执行本方法代码所在的页面的元素。\ -因为uni是全局api,只有`this.$refs`才能和页面绑定。\ +uni是全局api,本方法获取的元素,是页面栈栈顶(不包括 dialogPage)的页面的元素,而不是执行本方法代码所在的页面的元素。\ 如果A页面被栈顶的B页面盖住,在A页面执行`uni.getElementById`会访问到B页面的元素。\ -除非您确认清楚这个逻辑,否则不建议使用本方法。\ +如需寻找特定页面上的Element,应使用[UniPage对象的getElementById方法](../api/get-current-pages.md#getelementbyid) + +如果不确定当前页面是不是在页面栈顶,则推荐使用ref方式,`this.$refs`可以和当前代码调用的页面绑定。\ 与页面绑定的获取元素的方式是`this.$refs`获取的对象再进一步as为element。[详见](../tutorial/idref.md#ref方式) diff --git a/docs/tutorial/idref.md b/docs/tutorial/idref.md index 0f96762cbf6b92841b1102bf91a6598bb9d27149..a10942349097420e8a18026b521032cf7884d3a4 100644 --- a/docs/tutorial/idref.md +++ b/docs/tutorial/idref.md @@ -79,11 +79,13 @@ uni-app x中,web、小程序、vue这3类概念都支持,所以id、ref、El #### Element方式 -uni-app x提供了[uni.getElementById](../api/get-element.md)方法,返回的是[Element](../dom/unielement.md)类型。 +uni-app x提供了[uni.getElementById](../api/get-element.md)等多种方法获取[Element](../dom/unielement.md)类型。 通用的元素操作方法,比如getAttribute、setStyle,在Element上就可以操作。 -但是由于本方法不与页面绑定,获取的是栈顶页面的element,所以可能发生预期外的情况,[详见](../api/get-element.md) +获取Element有很多方法,全局方法[uni.getElementById](../api/get-element.md)、[UniPage的getElementById](../api/get-current-pages.md#getelementbyid) + +还可以通过this.refs获取到vue实例然后as为Element。[见下](#ref方式) UniVideoElement 继承自 UniElement,拥有video专用的一批方法。