Angularjs Can';t在<;中输入类型文本;a>;在边缘浏览器中标记?

Angularjs Can';t在<;中输入类型文本;a>;在边缘浏览器中标记?,angularjs,microsoft-edge,Angularjs,Microsoft Edge,脚本语言:AngularJS 我的Html代码是: <li> <a href="javascript:void(0)"> <label ng-if="show">MyName</label> <i class="fa fa-pencil" ng-if="show"> <i class="fa fa-trash" ng-if="show"> <input type="text" ng-hide="show" />

脚本语言:AngularJS

我的Html代码是:

<li>
<a href="javascript:void(0)">
<label ng-if="show">MyName</label>
<i class="fa fa-pencil" ng-if="show">
<i class="fa fa-trash" ng-if="show">
<input type="text" ng-hide="show" />
</a>
</li>
  • 除IE edge外,上述html可在所有浏览器中工作

    此功能已完成,当我单击列表中的编辑图标时,标签将被删除,文本框将显示标签值

    它就像编辑列表,我将选择或重命名该标签值

    这段html代码在(firefox、google chrome,上面的IE9和Edge除外)中运行良好。

    使用html进行了尝试

    输出为:

    错误:元素输入不得显示为a 元素

    因此,基本上这不是一个有效的HTML,它取决于浏览器对您的标记进行解析的严格程度。因此,您可能希望在代码中使用一些变通方法来获得您想要的效果,但不使用那种标记。

    尝试使用html

    输出为:

    错误:元素输入不得显示为a 元素


    因此,基本上这不是一个有效的HTML,它取决于浏览器对您的标记进行解析的严格程度。因此,您可能希望在代码中使用一些变通方法来获得您想要的效果,但不使用这种标记。

    为什么要将输入放在锚点中?而且,这里也没有;这只是HTML。你也可以分享你正在使用的任何相关的角度代码。最后,您使用哪个版本的Edge进行测试?我刚刚在最近的一个构建中进行了测试,并且能够在两个输入元素中键入内容。锚定标记只能包装非交互式内容,因此没有输入。这是无效的html。为什么要在锚点中放置输入?而且,这里也没有;这只是HTML。你也可以分享你正在使用的任何相关的角度代码。最后,您使用哪个版本的Edge进行测试?我刚刚在最近的一个构建中进行了测试,并且能够在两个输入元素中键入内容。锚定标记只能包装非交互式内容,因此没有输入。这是无效的html。