首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除随机项目,

问删除随机项目,
EN

Stack Overflow用户
提问于 2012-05-25 07:26:07
回答 3查看 80关注 0票数 1

我有一个静态页面,其中包含10个图像在页面顶部和10关于这些图像在页面后面的剪贴画。我想随机显示4张图片(我找到了解决方案),但我不确定如何将这些图片与后面的文本div匹配,因为我应该隐藏/显示关于图片的段落

html:

代码语言:javascript
复制
<div id="images">
 <div><img src="img1"></div>
 <div><img src="img2"></div>
 ...
 <div><img src="img10"></div>
</div>

在后面的页面上

代码语言:javascript
复制
<div id="text">
 <p>text about image 1</p>
 <p>text about image 2</p>
 ...
 <p>text about image 10</p>
</div>

randomElements = jQuery("#images div").get().sort(function(){ 
 return Math.round(Math.random())-0.5
}).slice(0,4)

要显示与我选择的随机图像相同的段落,我想我应该使用:nth-child()选择器。但是我还不能找到如何从randomElements中获取孩子的编号。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-25 07:30:36

假设所有图像都存在于DOM中(并且只是显示/隐藏),那么我建议:

代码语言:javascript
复制
$('#images div:visible').each(
    function(){
        var i = $(this).index()
        $('#text p').eq(i).show();
    });

参考文献:

票数 1
EN

Stack Overflow用户

发布于 2012-05-25 07:30:45

可以使用.index()查找与包含图像的div标签对齐的段落标签。创建一个函数,获取6个介于1和10之间的随机唯一整数;使用jquery删除带有该索引的div和段落标记。

票数 0
EN

Stack Overflow用户

发布于 2012-05-25 07:35:10

如果可以的话,我会重新安排你的html。这是更多的语义友好,您当前的随机选择应该仍然有效。

代码语言:javascript
复制
<div id="images">
  <div>
    <img src="img1">
    <p>text about image 1</p>
  </div>
  <div>
    <img src="img2">
    <p>text about image 2</p>
  </div>
  ...
  <div>
    <img src="img10">
    <p>text about image 10</p>
  </div>
</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10746656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档