jQuery循环创建div并将内容附加到它们

时间:2014-07-17 19:13:08

标签: jquery wordpress loops each prepend

我正在尝试创建一个jQuery循环:

  1. 搜索有关任何图片或iframe的WordPress帖子
  2. 为每个人创建一个新div,并将图片或iframe插入div
  3. 直观地重新排序,以便这些新创建的和新填充的div显示在我想要的位置(在这种情况下,在帖子和帖子标题之上)。
  4. 我已经尝试了一个多星期来完成这项工作,并且已经接近了,但总有一些问题。

    jQuery("document").ready (function(){
       jQuery(".para img, iframe").each(function(){
          jQuery(this).prependTo(jQuery(this).parents(".wrapper940"));
    
          var ndiv = jQuery("<div></div>");
          jQuery(ndiv).append(this);
       })
    });
    

    所以在上面的代码中,我搜索.para类中的任何图像或iframe,然后对它们运行'each'函数,将它们添加到post的父级(.wrapper940),然后一旦它们启动在那里,我尝试为每个图像/ iframe创建一个新的div。

    使用这个特定版本的代码,它根本不显示图像或iframe,所以我假设我需要以某种方式'打印'ndiv元素?我的图片和iframe是否已经消失在一个变量中,因此不再显示?

    对于环形交叉路口和可能过于具体的帖子感到抱歉;我不知道我正在处理什么,以便能够提出更尖锐的问题。

1 个答案:

答案 0 :(得分:1)

您首先将img或iframe添加到&#39; .wrapper940&#39;,然后立即将您的img / iframe附加到新创建的未连接任何内容的div。您的第一个操作完全被第二个操作撤消(通过将其附加到div,您自动将其从包装中删除)。我假设您实际上希望将所有图像和帧首先附加到新的div项目,然后该div项目实际上被放入包装器...

jQuery("document").ready (function(){
   jQuery(".para img, iframe").each(function(){
      // First I create the div element.
      var ndiv = jQuery("<div></div>");

      // Now I put the div element into the wrapper, instead of the 'this'
      ndiv.prependTo(jQuery(this).parents(".wrapper940"));

      // Last I put 'this' into the div.
      ndiv.append(this);
   })
});