案例目的:当我点击添加按钮的时候,表格下方可以添加一行数据


遇到一个问题希望有大佬帮我看看,以下两个代码区别在于使用document获取对象的时候,第一个是在方法外获取对象,第二个是在方法内获取对象

下面是不可以正常执行的代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>案例4_动态表格</title><style>table {border: 1px solid;margin: auto;width: 500px;}td, th {text-align: center;border: 1px solid;}div {text-align: center;margin: 50px;}</style>
</head>
<body>
<div>
<input type="text" id="id" placeholder="编号">
<input type="text" id="name" placeholder="姓名">
<input type="text" id="gender" placeholder="性别">
<input type="button" id="btn_add" value="添加"><br>
</div>
<table><caption>学生信息表</caption><tr><th>编号</th><th>姓名</th><th>性别</th><th>操作</th></tr><tr><td>1</td><td>令狐冲</td><td>男</td><td><a href="#">删除</a></td></tr><tr><td>2</td><td>林青霞</td><td>女</td><td><a href="#">删除</a></td></tr><tr><td>3</td><td>封茗囧菌</td><td>女</td><td><a href="#">删除</a></td></tr>
</table><script>var btn_add = document.getElementById("btn_add");var tn_a = document.getElementsByTagName("a");var table = document.getElementsByTagName("table")[0];var id = document.getElementById("id").value;var name = document.getElementById("name").value;var gender = document.getElementById("gender").value;//添加子节点btn_add.onclick = function () {//获取对象//创建tdvar td_id = document.createElement("td");var td_name = document.createElement("td");var td_gender = document.createElement("td");var text_id = document.createTextNode(id);var text_name = document.createTextNode(name);var text_gender = document.createTextNode(gender);//添加值td_id.appendChild(text_id);td_name.appendChild(text_name);td_gender.appendChild(text_gender);//创建trvar tr = document.createElement("tr");//td添加到trtr.appendChild(td_id);tr.appendChild(td_name);tr.appendChild(td_gender);//tr添加到tabletable.appendChild(tr);}// //删除节点// for (let i = 0; i < tn_a.length; i++) {//   tn_a[i].onclick = function () {//     tn_a[i].remove//   }// }</script>
</body>
</html>

执行效果图

下面是可以正常执行的代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>案例4_动态表格</title><style>table {border: 1px solid;margin: auto;width: 500px;}td, th {text-align: center;border: 1px solid;}div {text-align: center;margin: 50px;}</style>
</head>
<body>
<div>
<input type="text" id="id" placeholder="编号">
<input type="text" id="name" placeholder="姓名">
<input type="text" id="gender" placeholder="性别">
<input type="button" id="btn_add" value="添加"><br>
</div>
<table><caption>学生信息表</caption><tr><th>编号</th><th>姓名</th><th>性别</th><th>操作</th></tr><tr><td>1</td><td>令狐冲</td><td>男</td><td><a href="#">删除</a></td></tr><tr><td>2</td><td>林青霞</td><td>女</td><td><a href="#">删除</a></td></tr><tr><td>3</td><td>封茗囧菌</td><td>女</td><td><a href="#">删除</a></td></tr>
</table><script>var btn_add = document.getElementById("btn_add");//添加子节点btn_add.onclick = function () {//获取对象var tn_a = document.getElementsByTagName("a");var table = document.getElementsByTagName("table")[0];var id = document.getElementById("id").value;var name = document.getElementById("name").value;var gender = document.getElementById("gender").value;//创建tdvar td_id = document.createElement("td");var td_name = document.createElement("td");var td_gender = document.createElement("td");var text_id = document.createTextNode(id);var text_name = document.createTextNode(name);var text_gender = document.createTextNode(gender);//添加值td_id.appendChild(text_id);td_name.appendChild(text_name);td_gender.appendChild(text_gender);//创建trvar tr = document.createElement("tr");//td添加到trtr.appendChild(td_id);tr.appendChild(td_name);tr.appendChild(td_gender);//tr添加到tabletable.appendChild(tr);}// //删除节点// for (let i = 0; i < tn_a.length; i++) {//   tn_a[i].onclick = function () {//     tn_a[i].remove//   }// }</script>
</body>
</html>

执行效果图

document在方法外获取对象无法获取数据相关推荐

  1. python网络爬虫系列(七)——selenium的介绍 selenium定位获取标签对象并提取数据 selenium的其它使用方法

    一.selenium的介绍 知识点: 了解 selenium的工作原理 了解 selenium以及chromedriver的安装 掌握 标签对象click点击以及send_keys输入 1. sele ...

  2. 什么是document对象?如何获取文档对象上的元素?_dom对象

    DOM对象 1. DOM树 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model),通过 HTML DOM对象,可访问 JavaScript HTML 文档的所有 ...

  3. Python 动态获取对象的属性和方法(内含inspect)

    首先通过一个例子来看一下本文中可能用到的对象和相关概念. #coding:utf-8 import sysdef foo():passclass Cat(object):def __init__(se ...

  4. js获取对象的方法,根据id、根据name、根据标签名、根据类名

    正文 下面的代码中展示了常用的js获取html对象的方法,并且添加了详细的注释说明.快来看看吧. // 页面加载完毕以后再执行window.onload=function(){//1.根据id获取对象 ...

  5. Python中面向对象self获取对象属性,魔法方法

    类和对象 类(Class) 由3个部分构成 01). 类的名称:类名 02). 类的属性:一组数据 03). 类的方法:允许对进行操作的方法 (行为) 定义类 object 是Python 里所有类的 ...

  6. 【java】java反射机制,动态获取对象的属性和对应的参数值,并属性按照字典序排序,Field.setAccessible()方法的说明【可用于微信支付 签名生成】...

    方法1:通过get()方法获取属性值 package com.sxd.test.controller;public class FirstCa{private Integer num;private ...

  7. 【Groovy】MOP 元对象协议与元编程 ( Groovy 类内部和外部分别获取 metaClass | 分析获取 metaClass 操作的字节码 | HandleMetaClass 注入方法 )

    文章目录 一.Groovy 类内部和外部分别获取 metaClass 二.分析 Groovy 类内部和外部获取 metaClass 操作的字节码 三.使用 HandleMetaClass 注入方法 一 ...

  8. php 获取js对象的属性值,js获取对象,数组所有属性键值(key)和对应值(value)的方法示例...

    本文实例讲述了js获取对象,数组所有属性键值(key)和对应值(value)的方法.分享给大家供大家参考,具体如下: var values=function(object) { var values ...

  9. JavaScript中的内置对象-8--4.date对象中-获取,设置日期时间的方法; 获取,设置年月日时分秒及星期的方法;...

    学习目标 1.掌握创建日期对象的方法 2.掌握date对象中获取日期时间的方法 3.掌握date对象中设置日期时间的方法 如何创建一个日期对象 语法:new Date(); 功能:创建一个日期时间对象 ...

最新文章

  1. PHPStorm+XDebug进行调试
  2. GitHub免费提供机器学习扫描代码漏洞,现已支持JavaScript/TypeScript
  3. python学习环境安装_python学习系列----环境的安装
  4. HTML,,,音乐,html embed用法
  5. 不错的流量卡官网html源码
  6. 苹果抄袭豌豆射手实锤!AirPods Pro又被玩坏了...
  7. 试用期间,云服务器操作系统可以更换吗?
  8. java的jmm模型_【深入理解JVM】:Java内存模型JMM
  9. 英语总结系列(七):Spring
  10. 【优化预测】基于matlab蝙蝠算法优化LSSVM预测【含Matlab源码 109期】
  11. 使用python将视频中的音频分离出来
  12. TCP/IP报文详解
  13. 如何对自动驾驶技术进行全面检验?
  14. 电脑网络没有问题,就是电脑连不上网的解决办法
  15. 微型计算机电路软件,微机控制电路
  16. 商城管理系统项目(前台+后台+管理员+用户+html+jsp)
  17. 导数的四则运算法则_导数、微分、积分之间的区别与联系
  18. 【CSDN年度之“战”征文】机器学习该怎么学?
  19. 关于Intriguing properties of neural networks的理解
  20. Linux管理员权限的相关命令

热门文章

  1. 阳光小小美女--我们都需要一个阳光积极的人生
  2. 微信小程序时间加法_微信小程序-日期时间计算
  3. 一个关于通过git将本地项目文件上传Gitee的悲伤故事
  4. java实现打印机打印
  5. 蓝桥杯-正则问题-栈应用-java
  6. java计算机毕业设计在线点餐系统源码+mysql数据库+系统+lw文档+部署
  7. JavaScript奇淫技巧:反调试
  8. java duplicate entry_java向数据库插入数据时的错误: Duplicate entry '' for key 'PRIMARY' 问题解决...
  9. ILF、EIF、EI、EO、EQ的区别与联系
  10. 信息安全工程师报考完毕!