Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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_Image_Duplicates - Fatal编程技术网

选择此功能时,图像将重复。Javascript

选择此功能时,图像将重复。Javascript,javascript,jquery,image,duplicates,Javascript,Jquery,Image,Duplicates,下面是每当用户单击链接时解决方案的外观 new york image image image 然而,当我再次这样做时,我得到了这个错误 new york image image image image image image 为什么会发生这种情况 这是我的密码 function getImageCategories() { images = document.createElement('ul'); $('#categories').on('click', 'li&g

下面是每当用户单击链接时解决方案的外观

new york
image image image
然而,当我再次这样做时,我得到了这个错误

new york
image image image
image image image
为什么会发生这种情况

这是我的密码

 function getImageCategories() {

      images = document.createElement('ul');
    $('#categories').on('click', 'li>a', function () {
    ex_id = $(this).closest('li').index();
      ex_id = ex_id.toString();
      getResults();
           });
  }

  function getResults(){
        myExhibitionsView = document.getElementById('exhibitioncontent');
        document.getElementById('exhibitioncontent').innerHTML = "";
      json.forEach(function (element) {
          console.log(ex_id);
          if (element['exhibition_id'] === ex_id) {
              for (var j = 0; j < element.exhibits.length; j++) {
                  list = document.createElement('p');
                  list.id = 'image' + j;
                  list.innerHTML = "<img src='./images/" + element.exhibits[j].exhibit_image + "' alt='Photo Cover' height='200' width='200'>";
                  console.log(list);
                  myExhibitionsView.appendChild(images);
                  images.appendChild(list);

              }
          }
      });
  }
函数getImageCategories(){ images=document.createElement('ul'); $('#categories')。在('click','li>a',函数(){ ex_id=$(this).closest('li').index(); ex_id=ex_id.toString(); getResults(); }); } 函数getResults(){ myExhibitionsView=document.getElementById('ExpressionContent'); document.getElementById('ExpressionContent')。innerHTML=“”; forEach(函数(元素){ 控制台日志(ex_id); if(元素['exhibition_id']==ex_id){ 对于(var j=0;j 函数1在过滤时获得正确的id,然后第二个函数显示正确的数据,为什么会有重复的数据?谢谢

HTML

<ul id="categories">
                <li class="filter">Categories:</li>
                <li id="ny"><a href="#newYork" onclick="getImageCategories()"> New York</a></li>
                <li id="sc"><a href="#spanishCities" onclick="getImageCategories()">Spanish Cities</a></li>
                <li id="gv"><a href="#aGlasgowViewpoint" onclick="getImageCategories()">A Glasgow Viewpoint</a></li>
                <li id="sch"><a href="#someChurches" onclick="getImageCategories()">Some Churches</a></li>
                <li id="bh"><a href="#barcelonaHighlights" onclick="getImageCategories()">Barcelona Highlights</a></li>
                <li id="mp"><a href="#martin's Pictures" onclick="getImageCategories()">Martin’s Pictures</a></li>
            </ul>
        </div><!-- end .grid_12 - CATEGORIES -->
  • 类别:

单击链接时。。。函数被调用

如何调用
getImageCategories()
方法?所以每次单击链接时,您都会向
#categories li>a
添加一个新的单击处理程序,不嵌套处理程序我会删除
getImageCategories()
方法和内联
onclick
属性,只需使用jQuery:
$(函数(){$(“#categories”).on('click','li>a',function(){…};})
但是它缺少一些HTML标记,我不确定什么是
#类别
以及它与单击的链接有什么关系。你能给我一个我可以使用的例子吗?不确定意思谢谢。抱歉,我会更新HTMLN不抱歉,我不能不看所有相关的代码。提供一个JSFIDLE复制你的问题