In this plunk我有一个用UL元素声明的指令。
{
"@context": "http://schema.org",
"@type": "ItemList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"item": {
"@type": "Recipe",
"url": "http://example.com/desserts/pies/#apple-pie",
"name": "Apple Pie",
"image": "https://example.com/300px-Apple_pie.jpg",
"author": {
"@type": "Person",
"name": "Carol Smith"
},
"datePublished": "2009-11-05"
}
}
]
}
我正在尝试通过分析指令链接函数中的<directive>
<ul>
<li id="0">xxx 0</li>
<li id="1">xxx 1</li>
<li id="2">xxx 2</li>
</ul>
</directive>
参数来检索这些,但我只在innerHTML中获取它们。我需要的是将element
元素的id和text作为DOM。有什么想法吗?
li
答案 0 :(得分:1)
是的,你可以。如果您记录该元素,那么您将看到它是一个类似于对象的数组,您需要先选择数组的键才能获取HTML元素。
.directive('directive', function() {
var directive = {};
directive.restrict = 'AE';
directive.scope = true;
directive.link = function(scope, element, attrs) {
console.log(element[0].querySelector('ul'));//Element is an array like object
};
return directive;
});
答案 1 :(得分:1)
由于你有指令中的元素,你不必使用querySelector,
你可以直接做,
directive.link = function(scope, element, attrs) {
console.log(element.find("ul")[0].children);
};
<强> DEMO 强>