Javascript 角度js获取div元素问题

Javascript 角度js获取div元素问题,javascript,angularjs,Javascript,Angularjs,我试图通过ng click获取div元素值,但它发出了一个警报未定义。 我的html是 <div ng-model='myName'>this is my name</div> <br/> <input type="button" value="Show Name" ng-click="showName()"/> 如何解决这个问题。谢谢。实际上,ng模型应该用于输入 <div>{{myName}}</div> <br

我试图通过ng click获取div元素值,但它发出了一个警报
未定义
。 我的html是

<div ng-model='myName'>this is my name</div>
<br/>
<input type="button" value="Show Name" ng-click="showName()"/>

如何解决这个问题。谢谢。

实际上,ng模型应该用于输入

<div>{{myName}}</div>
<br/>
<input type="button" value="Show Name" ng-click="showName()"/>
<input type="text" ng-model="myName">
HTML

这是我的名字:{{myName}
在这两种情况下,您的按钮单击都不会显示未定义,除非您在单击之前没有对其进行初始化(在第2个示例中)


希望有帮助。

ngModel指令不能与普通div一起使用(除非元素是自定义表单控件),请参阅


您不能将ng模型与div元素一起使用:好的,谢谢。如果我使用
这是我的名字,那么如何获取div元素。在jquery中,它是简单的
$('.myName').text()
。永远不要在控制器中使用jquery。如果您需要一些与视图相关的逻辑,请创建一个指令。@try\u simple\u code重点是。一般来说,如果这是在div中,则不需要获取值。div是一种只读元素。为什么需要获取这个div的内容?是的,我不尝试在内部使用jquery@Okazari我想要这个div元素,因为出于某种原因我想把它附加到其他div中。ngModel可以用于任何元素,在正常情况下,ngInit也不应该用于初始化范围变量,这就是控制器的用途。@Wawy“ngModel指令绑定输入、选择、文本区域(或自定义表单控件)对作用域上的属性使用”,因此它可以使用,但不会起任何作用。显示ngInit只是为了示例,但我同意您的看法,myName应该在controller@Wawyng模型“应”用于输入(&co),除非您没有提供配置ng模型控制器的自定义指令。@sbedulin您可以在任何元素中使用ngModel,就像创建自定义表单控件时一样(日期选择器、自定义下拉框等)如果你同意ngInit,那么你不应该回答那些学习angularjs的人,因为他们的做法不好……Cmon,人们应该意识到不好的做法!;)
$scope.showName = function(){
        var nameOne = $scope.myName;
        alert(nameOne);
    }
<input type="text" ng-model="myName">
$scope.myName = "Ben";
<div>This is my name : {{myName}}</div>
<div ng-init="myName = 'this is my name'">{{ myName }}</div>
<br/>
<input type="button" value="Show Name" ng-click="showName()"/>
$scope.myName = 'this is my name';
$scope.showName = function() {
    alert($scope.myName);
}