uni-app获取dom节点信息

uni-app获取dom节点信息,第1张

首先明白一点,uni-app提供的view、button、image、text通通都是组件,不是h5的标签,虽然用起来方便,但如果你想获取dom节点信息,尽管给组件绑定一个id选择器,用documentgetElementById()等这种传统的JS获取dom方式是没有任何效果。

因为他们是组件,除非你不用这些现成的组件,用回h5的标签。

所以你如果想获取uni-app提供组件的DOM元素,需要如下的方法。

unicreateSelectorQuery()in(this);用于创建一个实例。

in(this)在这里是为了规范页面创建实例,避免获取不到实例报null,用上总没错

queryselect('#text')用于选择DOM节点

boundingClientRect()返回dom节点的相关信息

拿到的是一些元素本身的宽高信息、距离页面四边的距离。

使用unicreateSelectorQuery()创建dom实例,需要在这个mounted()生命周期里面进行,这个生命周期它代表组件已经创建完成,可以挂载实例,进而获取dom元素

如果不写在mounted生命周期里,你也可以写在methods方法定义里面,不过你需要这样来调用。

你的这个javascript脚本通常会在一个HTML页面里面运行。所以如果你的字符串里面没有<html>标签,直接就是内容<input type='text' value='123' id='test'>,那么可以通过doucmentcreateElement创建一个div,然后把这个div的innerHTML设置成你的字符串。再把这个div append到doucmnet下面人任何一个元素里(通常就是body元素),这样就可以documentgetElementById来获取了。用完之后如果不需要了,再从dom tree里把这个元素移除掉,或者就把这个div设置为display="None"就好

但是如果这个字符串是完整的HTML,包括<html><head><body>等标签,那么就需要创建一个新的iframe,把这个iframe的innerHTML设置成你的字符串,然后通过iframe的document的getElementById来获取。

1、JavaScript原生函数没有提供判断DOM节点是否存在方法,我们通常获取DOM节点几乎都是documentgetElement方法,会返回一个object数组合集,我们可以通过object[0],object[1]这样来访问这个合集的每一个对象。既然返回的是数组合集,那么就有length属性,而length大于等于1即表示DOM节点存在页面中

代码:

Objectprototypeexist = function(){

if(typeof this !='undefined' && thislength>=1){

return true;

}

return false;

};

使用:

假设页面有如下节点

<div>这里是DIV节点</div>

<div>这里是DIV节点</div>

<span>这里是span节点</span>

判断节点是否在页面:

var is_exist = documentgetElementsByTagName('div')exist();

alert(is_exist); // true

var is_exist = documentgetElementsByTagName('span')exist();

alert(is_exist); // true

var is_exist = documentgetElementsByTagName('p')exist();

alert(is_exist); // false

2、注意:如果使用是使用documentgetElementById()方法获取对象的就不能使用exist()方法,因为根据ID取节点对象的方法在取不到节点的情况下会返回一个空对象,不会集成原型exist()函数,所以会报错!所以如果是根据ID取对象的可以直接if(obj)这样既可判断DOM节点是否存在页面中

jQuery判断DOM节点是否存在页面中

可以这么干

添加原型:

(function($) {

$fnexist = function(){

if($(this)length>=1){

return true;

}

return false;

};

})(jQuery);

3、使用方法:

假如页面有如下DOM节点

<div id="a">这里是id=a节点</div>

<div>这里是DIV节点</div>

<div>这里是DIV节点</div>

<span>这里是span节点</span>

判断:

alert($('#aaa')exist()); // false

alert($('#a')exist()); // true

alert($('div')exist()); // true

alert($('p')exist()); // false

以上两种方法其实都是根据对象集合的length属性判断对象是否存在。

以上就是关于uni-app获取dom节点信息全部的内容,包括:uni-app获取dom节点信息、在JS的脚本里,怎么把一个html字符串转成的DOM对象.从而能使用返回的DOM对象来访问某一个节点、js中的节点与空节点是什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9377736.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存