Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 删除随机项,_Javascript_Jquery - Fatal编程技术网

Javascript 删除随机项,

Javascript 删除随机项,,javascript,jquery,Javascript,Jquery,我有一个静态页面,页面顶部有10个图像,页面后面有10个关于这些图像的段落。我随机想显示4个图像(我找到了解决方案),但我不确定如何将这些图像与后面的文本div匹配,因为我应该隐藏/显示有关图像的段落 html: <div id="images"> <div><img src="img1"></div> <div><img src="img2"></div> ... <div><img

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

html:

<div id="images">
 <div><img src="img1"></div>
 <div><img src="img2"></div>
 ...
 <div><img src="img10"></div>
</div>

...
稍后在页面上

<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)

关于图像1的文本

关于图像2的文本

... 关于图10的文字

randomElements=jQuery(“#images div”).get().sort(函数(){ 返回Math.round(Math.random())-0.5 }).切片(0,4)

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

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

$('#images div:visible').each(
    function(){
        var i = $(this).index()
        $('#text p').eq(i).show();
    });
参考资料:


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

$('#images div:visible').each(
    function(){
        var i = $(this).index()
        $('#text p').eq(i).show();
    });
参考资料:


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

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

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

<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>

关于图像1的文本

关于图像2的文本

... 关于图10的文字


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

<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>

关于图像1的文本

关于图像2的文本

... 关于图10的文字


thx用于该方法!我试着在“随机元素”上使用索引,它只给了我1,2,3,4,但这应该更好,而且可能更快!我试着在“随机元素”上使用索引,它只给了我1,2,3,4,但这应该更好,可能更快