javascript 如何获得html DOM节点的属性值

x2=document.getElementById('div1').style.left;alert(x2);为什么,无法获得元素的属性值呢?还请高手指点迷津。====... x2=document.getElementById('div1').style.left; alert(x2); 为什么,无法获得 元素 的 属性值呢 ? 还请高手 指点迷津。=======c=document.getElementById('div1'); c=document.getElementById('div1').style; 上面 这俩 对象 都 测试 遍历了一下, 都拿不到 值。 不晓得 是不是 写错了? 展开
 我来答
网海1书生
科技发烧友

2018-05-29 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部

先给你看下面两段代码:

<div id="div1">test!</div>
<script>
   console.log(document.getElementById("div1"));  //这个能够获得值
</script>
<script>
   console.log(document.getElementById("div1"));  //这个不能获得值!
</script>
<div id="div1">test!</div>

看出原因没有?当js代码是先于html运行时,是获取不到DOM元素的!因为这时候该DOM元素尚未加载到内存,相当于不存在!

要想实现js代码放到任何位置都能获得DOM元素,就要保证代码在页面完全加载完毕后才开始运行,比如:

<script>
   window.onload=function(){  //网页完全加载完毕才会触发这个事件
      console.log(document.getElementById("div1")); //这时候就能获得了
   }
</script>
<div id="div1">test!</div>
炫舞夜空dj
2018-10-29 · TA获得超过317个赞
知道答主
回答量:92
采纳率:85%
帮助的人:6.3万
展开全部
可能你要获取的属性不在节点对象的原型(console.log(Element.prototype)
可以看到原型)里,所以不能直接用" . 属性"获取,用getAttribute("属性")试试吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
淹死在代码中
2018-11-10
知道答主
回答量:1
采纳率:0%
帮助的人:809
展开全部
.style.left;这个是设置,不是获取
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a1090625524
2018-05-29 · 超过15用户采纳过TA的回答
知道答主
回答量:239
采纳率:19%
帮助的人:27.7万
展开全部
你得明确拿到什么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式