首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >jquery隐藏多个div类,并将ID追加到末尾。

jquery隐藏多个div类,并将ID追加到末尾。
EN

Stack Overflow用户
提问于 2012-07-11 01:51:41
回答 5查看 1.8K关注 0票数 0

我有多个作为div的部分,每个部分都有一个数字附加到id的末尾(id=“节-‘.$节.’”)。可能会有很多这样的情况,而id每次都会增加。

我正在尝试编写一个jquery脚本来显示和隐藏正确的id=“资源-‘.$节.”。当用户单击div节中的img时,它将显示隐藏适当的资源div并隐藏所有其他资源div。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div id="section-'.$section.'">
<img src="" id="section-img-'.$section.'"/>
</div>

<div id="resource-'.$section.'"></div>

<script type="text/javascript">
jQuery(document).ready(function() {
      jQuery("#resource").hide();
      jQuery("#section img").click(function()
           {
              jQuery(this).next("#resource").show();
           });
});
</script>

任何想法或帮助都将不胜感激。提前谢谢。

修改:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div class="section" id="section-'.$section.'">
    <img src="" class="section-img" id="section-img-'.$section.'"/>
        </div>


    <div class="resource" id="resource-'.$section.'"></div>

jsfiddle.net/kqQDH/1

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-07-11 01:56:00

已更新

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
jQuery(document).ready(function() {
    jQuery('.resource').hide();
    jQuery('.section-img').click(function() {
        jQuery('.resource').hide(); //hide others

        //parse id for index
        var idx = jQuery(this).attr("id").split('-')[2];
        jQuery('#resource-'+idx).show(); //show this
    });
});

class不是id。它们是两个完全不同的html属性;类不一定是唯一的--事实上,您的jQuery类选择器依赖于它们不是唯一的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div id="section-1" class="section" >
<img src="" id="section-img-1" class="section-img" />
</div>

<div id="resource-1" class="resource"></div>

<script type="text/javascript">
jQuery(document).ready(function() {
      jQuery('div[id^="resource"]').hide();
      jQuery('div[id^="section-img"]').click(function()
           {
              jQuery(this).parent().next('div[id^="resource"]').show();
           });
});
</script>​​​​​​

注意:如果您决定以前的类名结构是必要的(无论出于什么原因),那么您将无法使用类选择器--您必须使用属性开始--使用选择器。

如果您分配元素is以及一个类来指示它是什么类型的元素,那就更好了。第一部分是<div id="section-1" class="section"></div>。然后,您可以使用一个简单的类选择器同时选择所有的section,或者使用它的id执行特定于某个类的操作。

票数 2
EN

Stack Overflow用户

发布于 2012-07-11 02:01:20

我建议您遵循以下场景:将所有部分放在div#sections中,资源放在div#resources中,然后获取单击图像的父级索引,然后显示具有此索引的资源。

您的代码可能如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div id="sections">
   <div class="section">
      <img src="" class="section-img"/>
   </div>
   ...
</div>

<div id="resources">
   <div class="resource"></div>
   ....
</div>

<script>
   $(document).ready(function(){  $('.section-img').click(function(){ var index = $(this).parent().index();  $('.resource').hide().filter(':eq('+index+')').show()  })  })
</script>
票数 1
EN

Stack Overflow用户

发布于 2012-07-11 02:01:56

1)当前的.resource.section选择器将失败,因为没有那些类的元素--正如您所说的,类是.section-4,而不仅仅是.section

2) next()命令将失败,因为它是从img标记的上下文中运行的,但实际上.resource DIV是父.section DIV的同级

将类名协调为通用的,如果确实需要唯一的ID,则使用id属性。所以,HTML:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!-- classes generalised; add in unique IDs as required -->
<div class="section">
    <img src="" class="section-img" />
</div>
<div class="resource"></div>

在那里,类名是一致的,而不是唯一的。这使得JS部分更加简单。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
jQuery(".resource").hide();
jQuery(".section img").click(function() {
    jQuery(this).parent().next(".resource").show(); //<-- note, parent()
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11429980

复制
相关文章
使用 RequireJS 加载 AngularJS
AngularJS 目前的版本没有遵循 Javascript 约定的 AMD 模块化规范, 因此使用 RequireJS 加载 AngularJS 时需要一些额外的配置。
beginor
2020/08/10
1.3K0
使用 RequireJS 加载 AngularJS
如何改善应用程序在 Linux 中的启动时间
大多数 Linux 发行版在默认配置下已经足够快了。但是,我们仍然可以借助一些额外的应用程序和方法让它们启动更快一点。其中一个可用的这种应用程序就是 Preload。它监视用户使用频率比较高的应用程序,并将它们添加到内存中,这样就比一般的方式加载更快一点。因为,正如你所知道的,内存的读取速度远远快于硬盘。Preload 以守护进程的方式在后台中运行,并记录用户使用较为频繁的程序的文件使用相关的统计数据。然后,它将这些二进制文件及它们的依赖项加载进内存,以改善应用程序的加载时间。简而言之,一旦安装了 Preload,你使用较为频繁的应用程序将可能加载的更快。
用户8639654
2021/10/15
3.8K0
解决angularjs图片加载失败
angularjs图片加载失败,本文的angularjs图片加载失败中的angularjs指的是angular2、angular4。
全栈程序员站长
2022/09/02
1.5K0
Angularjs动态加载ECharts(二)
今早操作的时候又有了问题,我需要做的是select下拉框选择时间,然后将对应时间的数据显示到ECharts上 如图所示
治电小白菜
2020/08/25
7370
Angularjs动态加载ECharts(二)
tomcat配置多域名站点启动时项目重复加载多次
在tomcat中配置多个Host的时候, 出现项目重复启动多次的情况. 刚开始以为是spring boot发布项目的时候自带了一个tomcat引起的, 后来发现不是
用户7798898
2020/09/27
1.4K0
tomcat配置多域名站点启动时项目重复加载多次
Angularjs动态加载ECharts(一)
今早发现,directive写的echarts组件,虽然能够获取到Controller中的数据,但是当我使用$http请求到的数据,想传到directive却总是获取不到,知道这是异步问题,图表加载后,数据才请求到,所以图表加载不了数据 解决方法 使用ng-if,判断,如果有数据才显示,完美解决 <realtem-data ng-if="data" id="temdata" legend="legend" item="item" data="data"></realtem-data> 其余代码 con
治电小白菜
2020/08/25
9410
Angularjs动态加载ECharts(一)
按需加载 AngularJS 的 Controller
AngularJS 通过路由支持多视图应用, 可以根据路由动态加载所需的视图, 在 AngularJS 的文档中有详细的介绍, 网上也有不少教程, 就不用介绍了!
beginor
2020/08/10
1.2K0
springboot启动时是如何加载配置文件application.yml文件
今天启动springboot时,明明在resources目录下面配置了application.yml的文件,但是却读不出来,无奈看了下源码,总结一下springboot查找配置文件路径的过程,能力有限,欢迎各位大牛指导!!!
全栈程序员站长
2022/10/29
1.2K0
springboot启动时是如何加载配置文件application.yml文件
AngularJS中的按需加载ocLazyLoad
初学者,有不足的地方希望各位指出 一、前言     ocLoayLoad是AngularJS的模块按需加载器。一般在小型项目里,首次加载页面就下载好所有的资源没有什么大问题。但是当我们的网站渐渐庞大起来,这样子的加载策略让网速初始化速度变得越来越慢,用户体验不好。二来,分模块加载易于团队协作,减低代码冲突。   二、按需加载的对象 各个Controller模块、Directive模块、Server模块、template模板,其实这些都是一些 .js文件或者 .html文件 。     三 、按需加载的场
庞小明
2018/03/07
1.7K0
Spring Boot 在启动时进行配置文件加解密
Spring Boot Application 事件和监听器 寻找到application.yml的读取的操作。 从spring.factories 中查看到 # Application Listeners org.springframework.context.ApplicationListener=\ org.springframework.boot.context.config.ConfigFileApplicationListener,\ ConfigFileApplicationListener
云扬四海
2020/06/16
1.8K0
AngularJs之路由配置(一)
我们新建好home组件后在app-routing.modules.ts中配置路路径
黄林晴
2019/01/10
9060
外包精通--在 ArgoCD 中加载现有的 Helm 应用程序
GitOps 是为云原生应用程序实施持续部署的推荐方式。它通过在部署应用程序时最大限度地减少手动错误来帮助组织,因为 Git 将是唯一的真实来源。因此,可以轻松地跨团队跟踪更改。
Godev
2023/05/09
3.2K0
AngularJs之路由配置(二)
我们使用 <a [routerLink]="['/prouct',1]" >商品详情</a>
黄林晴
2019/01/10
7490
SpringBoot2.x基础篇:应用程序在启动时访问启动项参数
SpringBoot应用程序在启动时,我们可以传递自定义的参数来进行动态控制逻辑,比如我们使用--debug启动参数时就会使用debug启动应用程序,在控制台打印一些调试日志信息。
恒宇少年
2020/03/20
2.5K0
SpringBoot2.x基础篇:应用程序在启动时访问启动项参数
angularJS配合bootstrap动态加载弹出提示内容
该文章介绍如何使用AngularJS和Bootstrap来动态加载弹出提示内容。文章首先介绍了Bootstrap的弹出提示功能,然后使用AngularJS自定义了一个指令,给任意元素加上了popover属性,并可以根据情况改变popover的content内容。最后,文章使用这个指令实现了一个简单的示例,并返回了相关的HTML代码。
MJ.Zhou
2018/01/04
1.6K0
高效快速地加载 AngularJS 视图|TW洞见
今日洞见 文章作者、部分图片来自ThoughtWorks:陈计节。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表。已经本网协议授权的媒体、网站,在使用时必须注明"内容来源:ThoughtWorks洞见",并指定原文链接,违者本网将依法追究责任。 当AngularJS应用程序变大时,很多问题就开始显现出来了,比如多层级视图的加载问题。如果在子视图显示之前没有预加载,则可能在需要展示时发生视
ThoughtWorks
2018/04/17
1.2K0
高效快速地加载 AngularJS 视图|TW洞见
springboot如何加载应用程序
上篇《ClassLoader#getResource与Class#getResource的差别》[1]了解原生java获取资源方式以及方式之间的区别。
码农戏码
2022/11/18
1.1K0
springboot如何加载应用程序
OC底层探索16 -应用程序加载OC底层探索16 -应用程序加载
源文件-预编译-编译-汇编-链接-可执行文件 - dyld加载 链接: dyld链接器 - 动静态库(加载UIkit、FOunation库、libSystem) -读到 内存(表)-加载主程序中 -link(链接主程序-链接动态库)-库的初始化- main()
用户8893176
2021/08/09
4020
OC底层探索16 -应用程序加载OC底层探索16 -应用程序加载
Angular 路由配置(预加载配置,懒加载配置)
(1)RouterModule对象提供了两个静态的方法:forRoot()和forChild()来配置路由信息。
玖柒的小窝
2021/11/04
3.2K0
angularJS学习之路(二十二)---模块加载---config
这种方法带有两个参数,一个是模板名,一个是依赖注入列表,数组为空,表示当前注册的模板不需要依赖关系
wust小吴
2019/07/08
1.2K0

相似问题

应用程序启动时AngularJS加载数据

12

如何在应用程序启动时加载配置?

11

WinJS在启动时加载配置数据

14

Angular2-在应用程序启动时加载配置数据

213

启动时加载RabbitMQ配置

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文