如何在页面加载后找到一堆元素并在新div中重新组合它们?

时间:2011-09-07 22:44:17

标签: php jquery html dynamic

所以是的,我的头疼。我的目标是:

我的内容是从页面内的php动态生成的,例如,我使用PHP include来获取内容。现在一旦加载了这个内容,我希望使用javascript / jQuery来按ID查找某些元素,看看是否有多个,如果有的话,然后将它们分组到一个新的div中。

例如;我有一个名为'pony'的div,该页面有另外3个div,也叫'pony',使用javascript / jQuery我希望将它们放在一个名为'horse'的新div中,它将动态生成。我还应该说新的div必须在页面顶部生成。

但我有一个名为'cows'的div,只有一个,我希望js / jQuery忽略那个。

有谁知道怎么做?相反,如果PHP更容易,那么id也欢迎这方面的知识。

2 个答案:

答案 0 :(得分:2)

具有相同ID的多个元素无效。但是如果你无法避免,那么尝试使用这样的东西:

$(function(){
    var ponies = $("[id='pony']");
    if(ponies.length > 1){
        $("<div id='horse' ></div>").prependTo("body").append(ponies);
    } 
});

答案 1 :(得分:1)

如果使用类来定义前面的div,可以使用$(“。pony”)选择器来计算动态生成的div数,然后创建一个名为“horse”的新DOM元素并追加以前的小马就是这样说的:

$(function() {
    var listPony = $(".pony");

    if (listPony.length >= 3)
    {
        var newDiv = $("<div class='horse'></div>").append(listPony);
        $('body').prepend(newDiv);
    }
});

这里有完整的例子:

http://jsfiddle.net/CPAfA/