html页面使用@for(){},@if(){},利用jquery 获取当前class在列表中的下标

news/2024/4/27 12:30:08

基于以前的项目进行修改优化,前端代码根据List元素在html里进行遍历显示

原先的代码:

其中,noticeGuide.Id是标识noticeGuide的唯一值,但是不是从0开始的【是数据库自增字段】

但是在页面初始化加载的时候,我们只想显示Id在最前面的那个,即

		$(document).ready(function() {showWhichDiv(0);//页面加载时显示第一项$("#a1").attr("style","color:#05A6F3;");});

如何在$(document).ready(function()不额外请求后端noticeGuideList数据的情况下完成

想到的第一个办法

就是元素命名的时候,按照元素在列表里的下标命名

即<div id="title${noticeGuide.index}" class="title" style="display: view;">${noticeGuide.type}</div>

但是noticeGuide并没有index字段,而且这个前端写得很原始,循环是下面的形式

@for(){}

在这里无法也用下面类似语句来获取元素下标

@for(var i = 0; i<list.length;i++ ){}

连Thymeleaf模板引擎也在此失效

<div class="right">  <div class="content">  <th:block th:each="noticeGuide, status : ${noticeGuideList}">  <div id="title${status.index}" class="title" style="display: none;">  <th:text="${noticeGuide.type}"></th:text>  </div>  <div id="recruitBatch${noticeGuide.id}" class="title" style="display: none;">  对应批次:<th:text="${noticeGuide.recruit_batch_names}"></th:text>  </div>  <div id="context${noticeGuide.id}" class="content" style="display: none;">  <th:text="${noticeGuide.content}"></th:text>  </div>  </th:block>  </div>  
</div>

放弃

最终解决办法

设定class=title的地方具有独特性【即次序以及数目与noticeGuideList中的元素一致】

那么接下来,按照如下思路编写初始化函数

第一,获取所有class=title的元素形成元素列表

第二,获取其中第一个元素的id【在这里就是title${noticeGuide.id}】

第三,取得第一个元素id中的${noticeGuide.id}部分

		$(document).ready(function() {var firstGuideId = $(".title")[0].id.substring(5);console.log(firstGuideId);showWhichDiv(firstGuideId);//页面加载时显示第一项$("#a1").attr("style","color:#05A6F3;");});

好的,看到输出的id正确,且页面显示正确,成功!

参考:

 jquery 获取当前class在列表中的下标

html页面使用@for(){},@if(){},前端bootstrap_Java-CSDN问答

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.cpky.cn/p/11163.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

蓝桥杯刷题之路径之谜

题目来源 路径之谜 不愧是国赛的题目 题意 题目中会给你两个数组&#xff0c;我这里是分别用row和col来表示 每走一步&#xff0c;往左边和上边射一箭&#xff0c;走到终点的时候row数组和col数组中的值必须全部等于0这个注意哈&#xff0c;看题目看了半天&#xff0c;因为…

第十二届蓝桥杯省赛CC++ 研究生组-卡片

solution1 直接依次计算&#xff0c;思维上最直接 #include<stdio.h> int main(){int a[10], n 1, t1, t2, flag 1;for(int i 0; i < 10; i)a[i] 2021;while(flag){t1 n;while(t1){t2 t1 % 10;a[t2]--;if(a[t2] < 0){flag 0;break;} t1 / 10;}if(!t1 &…

(三)Ribbon负载均衡

1.1.负载均衡原理 SpringCloud底层其实是利用了一个名为Ribbon的组件&#xff0c;来实现负载均衡功能的。 1.2.源码跟踪 为什么我们只输入了service名称就可以访问了呢&#xff1f;之前还要获取ip和端口。 显然有人帮我们根据service名称&#xff0c;获取到了服务实例的ip和…

jetcache 2级缓存模式实现批量清除

需求 希望能够实现清理指定对象缓存的方法&#xff0c;例如缓存了User表&#xff0c;当User表巨大时&#xff0c;通过id全量去清理不现实&#xff0c;耗费资源也巨大。因此需要能够支持清理指定本地和远程缓存的批量方法。 分析 查看jetcache生成的cache接口&#xff0c;并没…

JVM垃圾回收机制

文章目录 1.标记清除法&#xff08;标记不能清除的&#xff0c;清除其余的&#xff09;2.标记整理法3.标记复制法(标记不能清除的)分代回收思想&#xff1a;三色标记法漏标问题垃圾回收规模&#xff1a;什么是STW&#xff1f;并发标记常见的垃圾回收器的实现Parallel GCConcurr…

151 shell编程,正则表达式,在C语言中如何使用正则表达式

零&#xff0c;坑点记录&#xff1a;bash 和 dash 的区别&#xff0c;导致的坑点 查看当前用的shell 是啥&#xff0c;用的是/bin/bash hunandedehunandede-virtual-machine:~$ echo $SHELL /bin/bash 当shell 脚本运行的时候&#xff08;后面会学到方法&#xff0c;这里是最…