“for”属性的目的是什么?

时间:2014-07-03 06:28:00

标签: html angularjs

在此代码中取自angular.org:

<script>
   function Ctrl($scope) {
     $scope.names = ['pizza', 'unicorns', 'robots'];
     $scope.my = { favorite: 'unicorns' };
   }
</script>
 <form ng-controller="Ctrl">
   <h2>Which is your favorite?</h2>
     <label ng-repeat="name in names" for="{{name}}">
       {{name}}
       <input type="radio"
              ng-model="my.favorite"
              ng-value="name"
              id="{{name}}"
              name="favorite">
     </label>
   <div>You chose {{my.favorite}}</div>
 </form>

label元素有一个“for”语句。我在Angular.org网站上找不到任何内容,说明这是什么或如何使用。它没有列在指令或功能下。

2 个答案:

答案 0 :(得分:4)

它是一个HTML属性,用于帮助浏览器查看标签附加的字段&#34;至。

示例:尝试单击某些标签,浏览器将自动关注与其关联的输入字段。

[PS]它与Angular以及更多HTML和可访问性无关。

答案 1 :(得分:2)

只需添加上一个答案中的评论:

for和输入分开时,input属性用于定位label,如下所示:

<label for="MyId">
  My Label
</label>

<input type="radio"
       id="MyId"
       name="favorite">

如果您将input嵌套在label内,就像您的示例一样:

<label>
  My Label

  <input type="radio"
         name="favorite">
</label>

然后,您不需要for属性,它会自动定位标签内的输入。