jQuery appendTo()w / Selectors

时间:2014-05-29 15:47:37

标签: javascript jquery wordpress jquery-selectors css-selectors

所以我在页面中添加了四个与Wordpress循环分开的元素。我使用jQuery appendto()将它们添加到帖子列表(循环)中。它的工作正常,除了最后一个...它似乎无法使用last-child或only-child或nth-child选择它。选择其他3个元素并使用最后一个孩子(#)完全移动。我已经尝试了我能想到的一切。你觉得怎么样?

当然,一旦移动了3个元素,我认为最后一个元素不再被认为是最后一个孩子或者是第一个孩子?...但是只有孩子也不会工作......

jQuery(document).ready(function ($) {
    var toApp1 = $(".recent_updates > .fp_post:nth-child(4)"),
        toApp2 = $(".recent_updates > .fp_post:nth-child(7)"),
        toApp3 = $(".recent_updates > .fp_post:nth-child(10)"),
        toApp4 = $(".recent_updates > .fp_post:nth-child(13)");
    var ad1 = $(".recent_updates > #skippingAds:nth-last-child(4)"),
        ad2 = $(".recent_updates > #skippingAds:nth-last-child(3)"),
        ad3 = $(".recent_updates > #skippingAds:nth-last-child(2)"),
        ad4 = $(".recent_updates > #skippingAds:last");
    ad3.appendTo(toApp3);
    ad2.appendTo(toApp2);
    ad1.appendTo(toApp1);
    ad4.appendTo(toApp4);
});

更新的代码:(仍然没有使用类而不是ID(很好指出)

jQuery(document).ready(function ($) {
    var toApp1 = $(".recent_updates > .fp_post:nth-child(4)"),
        toApp2 = $(".recent_updates > .fp_post:nth-child(7)"),
        toApp3 = $(".recent_updates > .fp_post:nth-child(10)"),
        toApp4 = $(".recent_updates > .fp_post:nth-child(13)");
    var ad1 = $(".skippingAds:nth-last-child(4)"),
        ad2 = $(".skippingAds:nth-last-child(3)"),
        ad3 = $(".skippingAds:nth-last-child(2)"),
        ad4 = $(".skippingAds:last-child");
    ad3.appendTo(toApp3);
    ad2.appendTo(toApp2);
    ad1.appendTo(toApp1);
    ad4.appendTo(toApp4);
});

2 个答案:

答案 0 :(得分:2)

您的文档中似乎存在重复的IDs,导致您的HTML无效。当您的HTML无效时,您将在浏览器之间获得不一致的行为,因为没有处理无效HTML的规范,因此没有浏览器必须遵守该规范。

我建议您将所有skippingAds ID更改为类,然后您可以使用类选择器。

答案 1 :(得分:0)

尝试last-child

ad4 = $(".recent_updates > #skippingAds:last-child");