[a]标签

概述

Angular JS中的[a]标签只是对HTML中的[a]标签的一个简单的封装。在Angular JS中会检查href属性,如果属性不存在就会阻止浏览器对a标签的默认操作。
Angular JS的a标签可以很简单的实现和ng-click指令配合使用,不会引起页面的刷新和重新加载。

实现细节

var href = toString.call(element.prop('href')) === '[object SVGAnimatedString]' ? 'xlink:href' : 'href';
element.on('click', function(event) {
// if we have no href url, then don't navigate anywhere.
if (!element.attr(href)) {   
    event.preventDefault();
};

从代码可以看出在普通的HTML a标签中,判断的是href属性,而在SVGElement中判断的是xlink:href属性,所以Angular JS的a标签是实现了对SVGElement的兼容的。

你可能感兴趣的:([a]标签)