如何获得HTML元素的可变属性?

问题描述 投票:0回答:3

我有一个ng-repeat,其中我设置了这样的属性:

<div ng-repeat="item in itemsList"
     stepType="{{item.stepType}}">
     {{item.itemValue}}
</div>

item.stepType可以具有值'task'或'action'我正在尝试像这样获取属性“ stepType”:

let stepType = el.getAttributeNode("stepType");
console.log(stepType.value);

我得到的结果是:

{{item.stepType}}

但是预期结果是taskaction

我也尝试使用函数getAttribute()获取属性,但结果相同。

[我还注意到,在上面的代码中,如果我记录的是stepType而不是stepType.value的值,则会得到看起来像stepType: 'task'的对象>

如何获得期望值?

<< [ [
尝试删除双引号。替换此

<div ng-repeat="item in itemsList" stepType="{{item.stepType}}"> {{item.itemValue}} </div>

with
<div ng-repeat="item in itemsList" stepType={{item.stepType}}> {{item.itemValue}} </div>
javascript jquery html angularjs angularjs-ng-repeat
3个回答
0
投票

类似

<div ng-repeat="item in itemsList"
     custom-directive stepType="{{item.stepType}}">
     {{item.itemValue}}
</div>

相关:https://stackoverflow.com/a/17879046


0
投票
我不清楚您的要求,但您可以执行以下操作:

$scope.getAttr = function($event) { let attr = angular.element($event.target).attr('stepType'); console.log(attr); }

<div ng-repeat="item in itemsList"
     stepType="{{item.stepType}}"
     ng-click="getAttr($event)">
    {{item.itemValue}}
</div>

正在运行的演示:DEMO

© www.soinside.com 2019 - 2024. All rights reserved.