禁用/隐藏基于 Angular JS 中 ID 的特定锚标记

Disable/hide specific anchor tag based on ID in Angular JS

本文关键字:ID 隐藏 JS Angular 禁用      更新时间:2023-09-26

我的页面上有多个链接。在许多链接中,我想仅根据数据库值禁用特定链接。我将锚标签的 ID 与 Firebase 中的数据库 ID 保持相同,以便根据值禁用该特定 ID 的链接。

 <a  id="{{page.$id}}"  ng-href="#/edit/{{page.$id}}/" target="_blank">Add</a>

如果我单击一个按钮,那么我已经添加了以下代码,它工作正常:

<button type="button" class="btn btn-primary" ng-click="complete(page.$id)">Complete</button>
$scope.complete=function(id)
{
   var target=angular.element("a#"+id);
   console.log(target);
   target[0].hidden=true;
   var elem= angular.element(id);
   elem.context.activeElement.disabled=true;
}

上面的代码控制台.log向我返回如下元素:

[a#-KBp32nu3tfHPpKvlBqW, prevObject: x.fn.x.init[1], context:  document, selector: "a#-KBp32nu3tfHPpKvlBqW"]
 0: a#-KBp32nu3tfHPpKvlBqW
 context: document
 length: 1
 prevObject: x.fn.x.init[1]
 selector: "a#-KBp32nu3tfHPpKvlBqW"
 __proto__: x[0]

通过这个,我能够获取特定的锚标签 ID 并能够隐藏该元素。但是,当我尝试在控制器上应用相同的代码以便在页面加载时禁用/隐藏元素时,此函数会返回我 parentDOM 的元素。我在控制器上的代码如下所示:

refUpdate=new Firebase("https://databseURL/"+newId);
refUpdate.on('value',function(snapshot){
var status= snapshot.child("completed").val();
if(status=="yes")
{
   var target= angular.element('a#'+newId);
   console.log(target);
}
});
[prevObject: x.fn.x.init[1], context: document, selector:"a#-KBp32nu3tfHPpKvlBqW"]
 context: document
 length: 0
 prevObject: x.fn.x.init[1]
 selector: "a#-KBp32nu3tfHPpKvlBqW"
 __proto__: x[0]

所以我无法获得选择器值。任何想法如何做到这一点?

我认为

,您将在boolean中具有数据库values,您可以在a标签中使用它,例如:

<a  id="{{page.$id}}"  ng-href="#/edit/{{page.$id}}/" target="_blank" ng-hide="page.isHide">Add</a>
如果要

disable,可以使用ng-disabled