javascript - js中通过id读写内容和调用函数的问题

查看:89
本文介绍了javascript - js中通过id读写内容和调用函数的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<script type="text/javascript">
    function onLoad(){
//        var btn_save = document.getElementById('btn_save'),
//            btn_load = document.getElementById('btn_load');
//        var inputname = document.getElementById('inputname'),
//            show = document.getElementById('show');
        btn_save.addEventListener('click',saveTo);
        btn_load.addEventListener('click',loadFrom);

        function saveTo(){
            localStorage.username = inputname.value;
        }
        function loadFrom(){
            show.innerHTML = localStorage.username;
        }
    }
</script>
<body onload = 'onLoad()'>
input your name:<input type="text" id="inputname" value=""><br/>
<div id="show"></div><br/>
<button id="btn_save">Save</button>
<button id="btn_load">Load</button>
</body>
</html>

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

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

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

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


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

解决方案

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

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

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

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

这篇关于javascript - js中通过id读写内容和调用函数的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆