为了账号安全,请及时绑定邮箱和手机立即绑定

一直无法获取到页面上一个元素js

标签:
JavaScript

①前言

流程审批页面我写了一个公共的模板页面,但是里面的数据是动态添加进去的。我想在公共的页面的js中去隐藏一个元素。

②我的思路:

我准备直接通过id去获取元素,然后添加属性 display:none

首先我通过jquery的方法: 

var v1 = $("#shenpiyijian");console.log(v1)//结果为n.fn.init()

我最初以为这就拿到了对象,然后直接设置属性  v1.css("display","none")  结果没有效果。

后面大牛采用的是

var  v2 = document.getElementById("shenpiyijian");console.log(v2)//null

发现为v2位null

哦,原来是没有拿到这个元素。

总结:=========

在测试的时候可以现在浏览器控制台写js代码。如果有问题的时候,最好用js代码而不是jquery代码。因为所有浏览器都支持js代码。


------------------------------------------------------------------------------------------------------------------------

后面发现没有取到元素,所以我就按照自己的方式去ifram中去找元素。其实这根本就不是ifram的问题,网上找了一大堆。


后面找了大牛。

大牛首先在控制台获取了数据,然后发现能获取,在js代码中写了,发现不能获取。

估计是加载顺序问题。

-----------------------------下面 ,重要一步---------------------

我们在页面中写了一个button,将获取元素的代码写在了一个方法中,点击这个button,发现能获取到数据。

-----------------------------重要一步---------------------

然后找,我们的代码是写在ready里面的,即页面加载完成,但是为什么无法获取呢,后面他们说loadUrl这个方法是异步的,业务数据还没加载完成的时候页面js就执行完了。

然后我们把代码写在了loadUrl中。这样就是同步执行了。

总结:其实就是数据还没加载完就执行了js。


总结:

①对于编程,是什么就是什么,不要猜测或无端自己加入一些自己的想法。

比如这本来不是一个ifram,非得自己认为是一个ifram,这样不利于去找问题。

②注意同步异步,注意方式方法。

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消