javascript - js中通过id读写内容和调用函数的问题
怪我咯
怪我咯 2017-04-11 11:22:15
[JavaScript讨论组]

我也不知道怎么用文字去描述我的这个问题,所以可能问题的题目不能很好的表达出我的疑问,这里先给点进来看看的各位程序猿哥哥道谢啦(⌒∇⌒)

是这样的,我写了一个简单的单击Save按钮后写入localStorage,然后单击Load从localStorage中读取信息并写入一个p里面的小功能,先上代码:




    
    Title



input your name:


问题来了,那几行注释里的代码是我自己写的,运行后没问题,后来我看了书上的代码,发现书上没有像我那样去定义这些变量,把html里面的那些元素取出来,而是直接就用了html里面元素的id。

按照书上的代码,都没有用getElementById把save按钮的btn_save获取到,怎么能这样直接btn_save.addEventListener('click',saveTo)调用方法呢?

还有下面的show这个变量也没有获取到,没有申明,怎么能直接用呢?

是不是js里面,可以用html里面元素的id直接调用方法呢?我有点晕了,谁能给我讲解一下吗,谢谢各位啦:D


补充下,我拍了书上代码的截图(为什么图片是横过来的...):

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
PHP中文网

首先明确一件事,不太明白是否你按书上写的代码能运行。

一般从你的代码上来看(包括你注释掉的)应该运行没有问题。

如果要在js中执行方法一般是通过dom中的class或者id 来获取到dom对象。
然后再操作对象逻辑

ps:一个建议尽量在js中驼峰的方式来写变量名或者方法

大家讲道理

是覺得有三種可能性:

  1. 就是書上有可能會省略掉這些獲取元素部分的聲明

  2. 可能用屬性去綁定事件,例如

<button id="btn_save" onclick="saveTo()">Save</button>
<button id="btn_load" onclick="loadFrom()">Load</button>
  1. 最後一個我覺得可能性不大,但是你該不會是看到這種寫法吧 $('#btn_save')?
    是的話,這是一個 Javascript 的庫 jQuery ,封裝原本複雜的 Dom 操作
    變成可以很簡單的使用

PHP中文网

html 中用 id 命名的任意元素在 js 中可以直接通过这个 id 来访问,不需要再去声明一遍

比如:

有一个输入框

<input id="test" value="1"/>

js中可以直接访问:

console.log(test.value);
//控制台输出 "1"
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号