使用angularjs获取div的文本

时间:2014-08-29 08:44:28

标签: javascript angularjs

我想使用angularjs获取div的文本。我有这个代码

<div ng-click="update()" id="myform.value">Here </div>

我的控制器就像这样

    var  myapp= angular.module("myapp",[]);
    myapp.controller("HelloController",function($scope,$http){

    $scope.myform ={};

    function update()
    {
            // If i have a textbox i can get its value from below alert 
            alert($scope.myform.value);
    }
    });

任何人都可以向我推荐angularjs的任何好链接。我没有找到angularjs参考作为学习来源。

3 个答案:

答案 0 :(得分:4)

你应该在函数中发送click事件,你的html代码应该是:

<div ng-click="update($event)" id="myform.value">Here </div>

你的更新函数应该有一个event参数,你可以从中获取div元素,然后从元素中获取文本,如下所示:

function update(event)
 {
  alert(event.target.innerHTML);
 }

答案 1 :(得分:1)

我只是觉得我为以后所有关注这个问题的人准备了一个合适的答案。

每当你想要改变角度的dom元素时,你需要退后一步,再想一想你想要达到的目标。有可能你正在做一些拧干的事情(除非你在那里你应该处理链接功能)。

那么值的来源是什么,它不应该来自dom本身,它应该在你的控制器中,并使用ng-bind或{{}}表达式进入dom,如:

<div>{{ likeText }}</div>

现在,您可以在控制器中根据需要更改文本:

$scope.likeText = 'Like';
$scope.update = function() {
     $scope.likeText = 'dislike'; 
}

对于角度教程,这里有一个很好的资源 - &gt; http://angular.codeschool.com/

答案 2 :(得分:0)

将您的功能重新定义为

$scope.update = function() {
 alert($scope.myform.value);
}

更好的方法是使用ng-model https://docs.angularjs.org/api/ng/directive/ngModel

检查示例,这些文档可能有点罗嗦