获取" slideToggle()不是一个功能"使用AngularJS时

时间:2016-05-19 22:45:25

标签: javascript jquery angularjs

我的app.js中有以下代码:

$scope.myData.mouseLeave = function(event) {
        var el = document.getElementById(event.target.id);
        console.log("hey, i'm running");
        el.style.backgroundColor = '#aabbcc';
    };
    $scope.myData.mouseClick = function(event) {
        console.log("yes I am also running");
        var header = document.getElementById(event.target.id);

        //getting the next element
        var content = header.nextSibling;
        if (content.classList.contains("container")) {
            //open up the content needed - toggle the slide- if visible, slide up, if not slidedown.
            $(content).slideToggle(500);
        }
    };
});

mouseLeave工作正常,但是当我尝试在mouseClick函数中使用JQuery函数时,它在浏览器中给出了一个错误,即slideToggle不是函数。我已经四处搜索,除了一个没有用的SO问题外,无法找到任何相关信息。我在调用我的js代码之前加载jquery所以我不确定问题是什么。

如何在我的代码中使用slideToggle?

1 个答案:

答案 0 :(得分:0)

slideToggle是一个jQuery方法,但这是你的代码:

 var header = document.getElementById(event.target.id);
 //getting the next element
 var content = header.nextSibling;
 ...
 content.slideToggle(500);

该代码创建一个DOM对象。 DOM对象不是 jQuery对象。

是一种从DOM对象创建jQuery对象的方法,以防你出于某种原因想要这样做...