首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在角HTML中使用id="mydiv“和#mydiv有什么区别?

在角HTML中使用id="mydiv“和#mydiv有什么区别?
EN

Stack Overflow用户
提问于 2019-02-11 15:32:49
回答 3查看 6.2K关注 0票数 10

这是一个简单的角度HTML问题,我想对标签的id稍微清楚一点。例如,在我的代码中:

代码语言:javascript
运行
复制
    <input class="inputfile" type="file" name="file" #file id="file" 
    (change)="onFileChange($event)"/>

    <button mat-mini-fab color="primary" (click)="file.click()">                        
            <mat-icon aria-label="Icon to upload file">cloud_upload</mat-icon>
    </button>

    <label for="file" >Upload your portifolio</label>

在该示例中,我必须在输入中设置#file id="file" 以使按钮正常工作,还必须为标签设置以便工作。以前我以为他们有相同的函数,只是语法而已。有人能澄清每一种方法的用途吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-02-11 15:58:19

如果您想使用javascript函数或从使用getElementByID的控制器中标识一个元素,或者要指向样式表中的样式,则需要在整个DOM中设置必须是该元素唯一的id

但是,当您想要访问DOM文件中的元素时,需要使用#引用该元素。如果只使用id,浏览器中就会出现错误Cannot read property 'XXX' of undefined

例如,为了使用DOM文件中输入的值来显示/隐藏按钮,而无需编写任何javascript/角代码,您可以执行如下操作,其中设置id是行不通的。

代码语言:javascript
运行
复制
<form class="example-form">
  <mat-form-field class="example-full-width">
    <input #nameField matInput placeholder="Name">
  </mat-form-field>

  <button type="button" *ngIf="nameField.value!==''" >Submit</button>
</form>

引用来处理用户输入和,作为对#标记的更广泛解释。

票数 6
EN

Stack Overflow用户

发布于 2019-02-11 16:22:09

在角度应用程序中,#mydiv可以根据上下文的不同而具有不同的功能。

  • 在DOM元素上,<div #mydiv>是对元素的引用
  • 对角分量的引用
  • 在定义exportas:"ngform"的一个元素上,#mydiv="ngForm"创建一个组件引用,该元素是一个角分量,或者有一个角指令。
票数 2
EN

Stack Overflow用户

发布于 2019-02-11 15:42:44

用于为元素分配唯一标记的html中的id (稍后可由javascript使用)。#在html中用作此元素的标记(如指向该元素的链接)。示例:您已经按下按钮和浏览器滚动到标记为#file的元素。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54633959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档