如何使具有相同类的子元素仅出现一次

时间:2012-12-04 19:11:01

标签: jquery class parent

我的问题是我有一个父元素,在这种情况下是一个由类定义而没有id的div。

使用菜单,我可以调用一个函数来创建父div的副本,我可以相互独立地移动它。

我将此代码添加到创建父div的函数中。

function makeSmallBlockdiv() {
    $("#canvas").append('<div class="SmallBlock">SMALL BLOCK 350X300</div>')
    $(".SmallBlock").draggable({
        containment: "#canvas",
        scroll: false,
        grid: [10, 10]
    }, {
        cursor: "move",
        cursorAt: {
            top: 300,
            left: 175
        }
    })
    $(".Smallblock").append('<div class="article_title"></div>')
    $(".Smallblock").append('<div class="article_Image"><img style="width: 100%;" src="<? echo $image ?>"></div>')
    $(".Smallblock").append('<div class="font14"><? echo substr($article_text, 0, 200) ?></div>')
}​

我知道php代码不起作用,但这不是问题;我用文本和有效的图像目标替换它没有任何运气

问题是,子div传播给我创建的所有父母。所以,我最终在第二个父节点中有两组子节点,在第三个父节点中有三组子节点,依此类推....

有没有办法让子节点只保留一个类定义,并让它们只填充创建它们的父节点?

1 个答案:

答案 0 :(得分:1)

我认为您需要的是以下内容:

var smallBlock = $('<div class="SmallBlock">SMALL BLOCK 350X300</div>').appendTo("#canvas");
smallBlock.draggable({
        containment: "#canvas",
        scroll: false,
        grid: [10, 10]
    }, {
        cursor: "move",
        cursorAt: {
            top: 300,
            left: 175
        }
    })
    smallBlock.append('<div class="article_title"></div>')
    smallBlock.append('<div class="article_Image"><img style="width: 100%;" src="<? echo $image ?>"></div>')
    smallBlock.append('<div class="font14"><? echo substr($article_text, 0, 200) ?></div>')

这会将子项仅添加到新创建的SmallBlock div。