0

用户指定一个数值;然后一个 for 循环运行它很多次。我有一系列这些类型的设置,它们都可以工作,除了这个。我相信这是因为我使用了 :first 选择器。

    jQuery.fn.removeX = function() {
        for (var i = 0; i < xTimes; i++) {
            $("#Tell").append(' removed!');
            $("#List_" + C_user + " img:first").relocate();
        }
    }

我尝试过变体,例如 :nth-child(0),甚至 .slice(),但到目前为止没有任何效果。然而, .relocate 函数,它被设计为一次只处理一个元素。我不认为应该有所作为,但如果我把它换成 .appendTo 之类的东西,它就可以正常工作。

.relocate 脚本:

    jQuery.fn.relocate = function(){
        getSRC2 = $(this).find('img').attr('src');
        $(this).prependTo(".List_" + Owner).removeAttr('style');
        $(this).remove();
    }

这没什么特别的,所以我不确定它是如何破坏另一个的。

任何提示/指针都会有所帮助。

解决方案

删除了 .find(),工作,谢谢!我试图重用脚本,但它最初设计的对象是包装的,因此是 .find()。

4

1 回答 1

2

在这里,您正在选择一个img...

$("#List_" + C_user + " img:first").relocate();

然后在.relocate(),你正在做.find()一个img...

getSRC2 = $(this).find('img').attr('src');

img不能嵌套在img.


要么摆脱,.find('img')因为你已经拥有它,要么摆脱img选择器的一部分......

$("#List_" + C_user).relocate();
于 2012-04-16T01:18:37.687 回答