JQuery选择器在angularjs中不工作?

JQuery选择器在angularjs中不工作?,jquery,angularjs,jquery-selectors,Jquery,Angularjs,Jquery Selectors,我在访问angularjs呈现页面上的元素时遇到问题。即使是一个弹出警报的简单脚本 这是我的密码: <div class="col-md-10 col-md-offset-1"> <div> <table class="table table-striped"> <thead> <th>From File</th> <th>Map To&

我在访问angularjs呈现页面上的元素时遇到问题。即使是一个弹出警报的简单脚本

这是我的密码:

<div class="col-md-10 col-md-offset-1">
<div>
    <table class="table  table-striped">
        <thead> 
            <th>From File</th>
            <th>Map To</th>
        </thead>
        <tr class="selector-row" ng-repeat="(key,value) in import">
            <td><span id="myspan">{{value}}</span></td>
            <td style="padding:10px;">
                <select name="repeatSelect" id="repeatSelect" ng-model="data" class="form-control">
                    <option ng-repeat="(key,value) in mapping" value="{{value}}">{{value}}</option>
                </select>
            </td>
        </tr>
    </table>

</div>

从文件
映射到
{{value}}
{{value}}


$(文档).ready(函数(){
$('#myspan')。在('click',函数(){
警报(‘击中它’)
})
})

发生这种情况是因为您试图在尚未创建的对象上分配事件。目前我可以想到两种解决方案:

  • 尝试使用和
    $scope
    函数绑定事件。如果以后需要,可以在angular内部自由使用jQuery
  • 另一种方法是创建一个等待的
    重复缓冲区
    使重复完成,然后触发
    repeat finished
    事件 您可以在angular controller中听到,然后执行jQuery代码

  • 希望有帮助。

    如果您试图在编译视图后执行任何DOM操作,则应使用指令。如果您只是想注册一个click事件来启动一个函数,请使用ng click。这里有两个例子供您查看

    示例中的HTML(更新为使用通用对象并处理这两个示例):

    处理单击事件的指令

    myApp.directive('generateClickResponse', function() {
        return {
            link: function(scope, element, attribute) {
              element.bind("click", function(e) {
                  alert("element clicked: " + element.attr('id'));
              });
              }
            }
        });
    
    --相关ng点击代码--

    控制器中的此函数将从HTML中的ng click调用

    $scope.alertFunction = function(element) {
                 alert("ng-click heard click. Passing data key id = " + element.id);   
            }
    

    这里有一把小提琴在演奏中显示了这一点:

    你在这里错过了angularjs的要点。。。您不应该使用jquery选择器来执行此类任务。尝试阅读更多关于angular的内容(www.learn-angular.org)感谢你的建议,费尔南多。我已经看过learn angular,但没有看到它具体解决了我的问题。是否有您建议我可以找到答案的特定部分?是的,请检查ng click指令
    $scope.import = [
                 {"id": "1", "name":"first"},
                 {"id": "2", "name":"second"},
                 {"id": "3", "name":"third"},
                 {"id": "4", "name":"fourth"},
                 {"id": "5", "name":"fifth"}
             ];
    
    myApp.directive('generateClickResponse', function() {
        return {
            link: function(scope, element, attribute) {
              element.bind("click", function(e) {
                  alert("element clicked: " + element.attr('id'));
              });
              }
            }
        });
    
    $scope.alertFunction = function(element) {
                 alert("ng-click heard click. Passing data key id = " + element.id);   
            }