我试图以角度来获取data-attributes元素的值。我的控制器是这样的:
控制器代码:
(function() {
'use strict';
var app = angular.module('myApp');
app.controller('globalCtrl', function ($scope) {
var dataPreview = document.getElementsByClassName('element');
$scope.item = {
name: dataPreview.getAttribute("data-branch"),
shortname: dataPreview.getAttribute("data-short-name")
};
});
}(window, window.angular));
但是控制台会返回以下错误:
dataPreview.getAttribute不是函数
我试图找到这个错误的解决方案,有人可以告诉我我的代码有什么问题
答案 0 :(得分:2)
使用类选择器时,需要迭代元素。
例如:
var dataPreview = document.getElementsByClassName('element')[0];
// here 0 index element will be selected and then only you'll be able to use
// getAttribute method
如果你使用id,那么你不需要迭代:
var dataPreview = document.getElementById('element');
答案 1 :(得分:0)
带数据属性的简单html标记
<div class="branchUI" data-branch="some branch">I'm ok here</div>
我通过querySelector将按钮添加到按钮,然后获取与下面相同的数据属性
var branchUI = angular.element( document.querySelector( '.branchUI' ) );
console.log( branchUI.data( 'branch' ) );