附加元素不与eq选择器一起使用

时间:2012-08-27 22:01:38

标签: jquery append selector

我创建了一段脚本,用于收集网页内容,将其放入页面的div标记,然后从右侧滑入,删除旧的div代码然后添加一个新的,然后在选择另一个页面后再次重复该过程。

JavaScript的:

$(window).click(function() {
    $(".container:eq(1)").html("new stuff").slideDown(500, function() {
        $(".container:eq(0)").animate({
            width: "0px",
            opacity: 0
        }, 500, "", function() {
            $(this).remove();
            $(".container").parent().append('<div clas="container"></div>');
            $(".container:eq(1)").hide();
        });
    });
});​

HTML:

<div>
    <div class="container">Test</div>
    <div class="container"></div>
</div>​

这是一个小提琴:http://jsfiddle.net/PVG8r/

当你点击页面时,它第一次工作正常,但每隔一段时间,我会期望再次显示“新东西”和旧的“新东西”滑落,引入新的'新东西”。我测试了一些警报,新对象的高度为null,因此它不存在。我可以在HTML中看到新元素,但它似乎没有被$(".container:eq(1)")选中。

2 个答案:

答案 0 :(得分:3)

您在附加的HTML中误导了属性class

改变这个:

$(".container").parent().append('<div clas="container"></div>');

到此:

$(".container").parent().append('<div class="container"></div>');

请参阅此处的工作示例:http://jsfiddle.net/jfriend00/aeBrd/

答案 1 :(得分:2)

您的代码中存在拼写错误。在下面的行中:

$(".container").parent().append('<div clas="container"></div>');
您知道

clas应为class。这使它按预期工作。