参考错误:未定义变量

时间:2017-02-17 15:01:53

标签: javascript jquery html css

我有一个名为“nthchild”$scope.service = SampleService; {{service.number}} 的变量 这给了我选择类的列表项的第n个子项。我甚至在控制台中记录它,它工作正常。但是,当我尝试使用此变量但它不起作用时。

Dagger...Component.java

所以它应该给该部分一个200px的上限。但控制台正在给我错误

  

未捕获的ReferenceError:未定义nthchild

您可以在codepen

上找到我的代码
var nthchild = ($(ui.selected).index() + 1);

1 个答案:

答案 0 :(得分:3)

问题是因为您将nthchild定义在您尝试使用它的位置范围之外。要解决此问题,请将:nth-child选择器置于selected回调中,以便在selectable更新时执行该选择。

另请注意,.style.marginTop是本机元素的属性,在jQuery对象上不可用。相反,使用css()方法,或者更好的是,将样式放在外部样式表中的规则中并使用addClass()。试试这个:

$(function() {
    $("#selectable").selectable();

    $("#selectable").selectable({
        selected: function(event, ui) {
            var nthchild = ($(ui.selected).index() + 1);
            $("section:nth-child(" + nthchild + ")").css('marginTop', '200px');
        }
    });
});