动态元素在DOM中时的调用方法

时间:2016-09-05 18:51:25

标签: javascript jquery angularjs

我使用$http服务来获取数据并生成DOM元素。 我如何在jQuery/AngularJS中调用动态元素上的方法(例如。slideToggle())?我需要在加载页面时执行此操作(而不是单击事件等)。

要做到这一点$('#test').slideToggle()(#test是生成元素)我需要使用超时。

1 个答案:

答案 0 :(得分:0)

很难从您的描述中确切地知道,但如果您是从远程检索的数据创建元素,则应确保在尝试滚动到元素之前完成元素的创建/插入。

以下代码是您如何执行此操作的示例:

$http({
  method: 'GET',
  url: '/someUrl'
})
.then(createAndInsertYourElement)
.then(scrollToElem);

function createAndInsertYourElement(data) {
    var $elem = $('<div id="test">' + data.whateva + '</div>');
    $('#someElement').append($elem);
    return $elem;
}

function scrollToElem($elem) {
    $elem.slideToggle();
}

请注意.then。这是一个选项,因为Angular的$ http返回一个promise。如果你不熟悉承诺,那么它们很棒,你应该检查一下:http://www.dwmkerr.com/promises-in-angularjs-the-definitive-guide/