我创建了一个浮动标签指令,它获取现有占位符的值并将其放入div元素中,该元素用作浮动标签。然后删除占位符属性并隐藏标签标记。该指令工作正常,但我担心它如何操纵DOM。我想知道是否有更好(更清洁)的方式: 1)管理浮动标签div元素的模板:
var template = '<div class="floating-label">{{ placeholder }}</div>';
//append floating label template
$element.after($compile(template)($scope));
2)通过for属性(与输入关联的属性)找到label标签:
document.querySelector('label[for="' + $scope.id + '"]').style.display = 'none';
应该注意使用jqLite。 (没有jQuery)
带有指令的plunker
答案 0 :(得分:1)
看起来不错,只是一些评论:
attrs
参数;消除了对$ compile服务的需要。