Angular2兄弟元素选择器

时间:2016-03-07 17:20:21

标签: javascript dom typescript angular

我想要隐藏所有之前的元素,这些元素在.map-page元素之前。

我正在加载离子应用,如果在dom上检测到.map-page,我需要隐藏以前的页面。

image

在jQuery中这是如此简单$('.map-page').siblings().hide(),但在角度2 ..我不确定使用哪些函数来做到这一点。

1 个答案:

答案 0 :(得分:-2)

由于您以角度方式遍历dom,因此建议您使用指令。在您的指令中,您可以访问$ element

EX:

app.directive('hide-siblings', function() {
    return {
        link: function($scope, $element, $attrs) {
                $element.siblings().hide()
        },
    }
});
编辑:只有你有jquery,也可能不是最好的方法。将此指令添加到所有元素可能更好,并使用:

app.directive('hide-siblings', function() {
    return {
        link: function($scope, $element, $attrs) {
            if(!$element.hasClass('map-page'))
                $element.hide()

        },
    }
});