getElementById是什么意思?给前端小白的超白话入门讲解。

吉云

说起来,刚开始自己捣鼓网页那会儿,真是啥都觉得新鲜,也啥都觉得难。今天就想跟大家唠唠我当初跟这个 getElementById 死磕的经历。

那时候我就想搞个特简单的效果:页面上有个按钮,还有一段文字。我点一下按钮,那段文字就得变个样,比如内容换一下。听着是不是挺小儿科的?可当时真是让我头都大。

最初的困惑:我咋知道点的是哪个?要改的又是哪个?

getElementById是什么意思?给前端小白的超白话入门讲解。

你想,一个页面上那么多东西,按钮可能不止一个,文字段落也可能好几段。我在按钮的“点击事件”代码里,咋能精确地告诉浏览器,“喂,就是那个谁谁谁,你要给我变一下”?我试过想用“第几个段落”这种方式,但页面稍微一改动,顺序就乱,立马歇菜。这不行,太不靠谱。

后来也不知道是看哪篇帖子还是听谁提一嘴,说可以给网页上的每个元素(就是那些标签啥的)起个独一无二的名字,像身份证号一样。在网页代码里,这个东西叫 id

柳暗花明:找到组织的“身份证号”

我一听,有门儿!要是每个我想操作的东西都有个唯一的 id,那不就能指名道姓地找到它吗?顺着这个思路摸索,就撞见 这个玩意儿。看名字大概也能猜到意思,“通过ID获取元素”。

我的实践过程大概是这样的:

    getElementById是什么意思?给前端小白的超白话入门讲解。

  • 第一步:起名字。 先找到我想控制的那段文字的HTML代码,比如它是个 <p> 标签,我就给它加上一个 id 属性,比如 id="welcome-text"。这个名字得是这个页面里独一份的。
  • 第二步:写代码去找它。 然后,在我那个按钮的点击触发的JavaScript代码里,我就写上 *("welcome-text")。心里想着,这下总该能抓到那段文字。

新的小插曲:拿到的是个

写完一试,好像有点对,又好像不对。我试着用 alert 弹窗看看拿到的是结果弹出来一个类似 [object HTMLParagraphElement] 或者干脆就是 [object Object] 的东西。我当时就懵,说好的文字内容?怎么是这么个怪东西?我还以为代码写错,或者这方法不好使。

恍然大悟:原来拿到的是“整个元素”

getElementById是什么意思?给前端小白的超白话入门讲解。

搞半天,又查些资料,才明白过来。getElementById 它干的活儿,是把那个带有指定 id整个HTML元素 都给你,而不是光把里面的文字抠出来给你。它给你的是一个“对象”,你可以把它想象成一个包含这个元素所有信息和能力的“遥控器”。

最终实现:用“遥控器”操作元素

明白这点,路就好走。我拿到这个“遥控器”(也就是那个元素对象)之后,就可以通过它来访问或者修改这个元素的各种属性。比如,我想改里面的文字,就可以用 .innerHTML 或者 .innerText 这样的属性。

完整的流程就变成:

  1. 给目标元素一个独特的 id,例如 <p id="my-text">初始文字</p>
  2. getElementById是什么意思?给前端小白的超白话入门讲解。

  3. 在JavaScript里,先用 let targetElement = *("my-text"); 拿到这个元素对象。
  4. 然后,通过这个 targetElement 对象去操作,比如 * = "按钮被点击!文字变!";

当我看到点击按钮后,那段文字真的按照我写的代码改变时,那种感觉,真是豁然开朗!妈耶,原来网页交互是这么搞的!就这么一个简单的 getElementById,一下子就让我感觉打开新世界的大门。虽然现在看这都是基础中的基础,但当初自己一步步摸索出来,那个过程和成就感,现在还记得清清楚楚。这玩意儿,确实是网页开发里最常用、最有用的家伙事儿之一。

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]