使用JS的DOM文档对象模型获取前端循环的参数

作者:追·不逝 时间:2024-04-10 13:54:46 

使用JS的DOM(文档对象模型)获取前端循环的参数

使用Go语言渲染html,但是想让网页动起来,显示一些弹窗还是比较麻烦的,于是乎,想到使用js获取页面的数据进行显示,但是js无法加载go的一些变量。想了很久,突然在网页调试的时候使用了js的DOM进行元素查找获得了些许灵感最后实现了这个功能。

1.网页显示部分

该部分是显示go后端传递的一个结构体数组里的各项数据,展示到一个表格中,故使用了循环展示数据,详见代码:

{{ range $v := .res}}
             <tr >
                           <td name="assetid">{{ $v.AssetUUID}}</td>
                           <td>{{ $v.AssetName}}</td>
                           <td>{{ $v.AssetPrice}}</td>
                           <td>{{$v.ProofUUID}}</td>
                           <td>{{ $v.DataType}}</td>
                           <td>{{ $v.DeviceType}}</td>
                           <td>{{ $v.StorageTime}}</td>
                           <td>
                               <a class="link-update" href="javascript:del($r)">撤销</a>
                               <a class="link-update" href="#.html/?AssetID={{$v.AssetUUID}}">更新</a>
                           </td>
                       </tr>
                       {{ end }}

在代码中的

{{ range $v := .res}}<br>.....<br>{{end}}

这个部分.res是Go后端向网页传递的数据,range $v即是对其进行遍历的操作。

撤销操作使用get方法传递参数,但是再确定是否执行撤销操作的时候,我想进行确认,因此需要获得{{ $v.AssetUUID}}的数据,传进js里面,进行弹框的确定及URL的跳转。

我尝试,将{{ $v.AssetUUID}}当成变量直接传进js里是执行不了的,这一步进行不下去了。

2.使用js的DOM获取页面的数据

2.1预备知识

1)DOM查找元素

document获取节点的基本方法

document.getElementById('id'); //通过id来获取元素,返回指定的唯一元素。

document.getElementsByName("name"); //通过name来获取元素,返回name='name'的集合。

.document.getElementsByClassName("classname") //用classname来获取元素,返回的是一个的集合(不兼容IE8及以下)。

document.getElementsByTagName('div'); //用元素的标签获取元素,返回所有标签=&ldquo;div&rdquo;的集合。

2) 查找

直接查找

var obj = document.getElementById('id');

间接查找

文件内容操作

innerText 仅文本

innerHTML 全内容

value

input value 获取当前的值

select 获取选中的value的值 document.getElementById('s1').selectedIndex=1

Textarea 获取value的值

2.2 从网页获取数据

document.getElementsByName("assetid")获得的是一个NodeList的列表

使用JS的DOM文档对象模型获取前端循环的参数

如何获得具体的assetid呢?

可以使用document.getElementsByName("assetid")[]这种方式定位到需要获得id的位置,比如获得第一个assetid位置是:document.getElementsByName("assetid")[0]

且document.getElementsByName("assetid")[0].textContent是这个数据里面的text值,具体请看:

使用JS的DOM文档对象模型获取前端循环的参数

即可获取这个id的具体值。

代码具体实现:

<script>
                           $r=-1;
                       </script>
                       {{ range $v := .res}}
                       <script>
                           $r++;
                       </script>
                       <tr >
                           <td name="assetid">{{ $v.AssetUUID}}</td>
                           <td>{{ $v.AssetName}}</td>
                           <td>{{ $v.AssetPrice}}</td>
                           <td>{{$v.ProofUUID}}</td>
                           <td>{{ $v.DataType}}</td>
                           <td>{{ $v.DeviceType}}</td>
                           <td>{{ $v.StorageTime}}</td>
                           <td>
                               <a class="link-update" href="javascript:del($r)">撤销</a>
                               <a class="link-update" href="#.html/?AssetID={{$v.AssetUUID}}">更新</a>
                           </td>
                       </tr>
                       {{ end }}

<script>
       function del(pos){
           if(false==confirm("是否确定删除当前记录")) return;
           var $aid=document.getElementsByName("assetid")[pos].textContent;
           location.href='Myasset.html/?action=del&AssetID='+$aid;
       }
   </script>

说明$r表示的是下标。

来源:https://www.cnblogs.com/echoqiqi/archive/2023/02/11/17112628.html

标签:js,dom,前端循环,参数
0
投稿

猜你喜欢

  • Python Web框架之Django框架文件上传功能详解

    2023-06-25 11:19:40
  • 详解Python3中的 input() 函数

    2022-09-21 19:50:59
  • 使用Numpy读取CSV文件,并进行行列删除的操作方法

    2023-05-05 03:26:11
  • Python实战之制作天气查询软件

    2022-09-21 09:00:20
  • Vue实现点击显示不同图片的效果

    2024-05-02 17:10:53
  • Python基础之tkinter图形化界面学习

    2023-09-03 00:47:06
  • php实现的简单检验登陆类

    2023-11-22 06:13:33
  • 多种还原.bak数据库文件方式

    2008-02-25 13:51:00
  • Python开发实例分享bt种子爬虫程序和种子解析

    2021-04-03 17:55:29
  • vue中el-table两个表尾合计行联动同步滚动条实例代码

    2023-07-02 17:08:56
  • 最详细的python工具Anaconda+Pycharm安装教程

    2022-01-15 10:20:30
  • Pandas 数据处理,数据清洗详解

    2022-05-23 16:04:23
  • Python爬取网易云音乐热门评论

    2022-06-16 00:24:58
  • python使用adbapi实现MySQL数据库的异步存储

    2024-01-25 10:59:10
  • Electron点击穿透不规则窗体的透明区域的实现

    2024-04-23 09:32:32
  • 手把手教你Python抓取数据并可视化

    2022-01-08 02:11:55
  • Pycharm在创建py文件时,自动添加文件头注释的实例

    2023-05-06 19:21:51
  • sql server 中合并某个字段值的实例

    2024-01-13 02:39:59
  • 我们用什么来衡量设计3:定量研究的风险

    2009-07-19 14:14:00
  • JavaScript实现图片放大预览效果

    2023-08-23 02:41:17
  • asp之家 网络编程 m.aspxhome.com