Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未选择带有类的Javascript(jQuery)嵌套div_Javascript_Jquery_Angularjs - Fatal编程技术网

未选择带有类的Javascript(jQuery)嵌套div

未选择带有类的Javascript(jQuery)嵌套div,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,有一个AngularJS应用程序有一个大数据集(一个页面上有许多绑定),我正在使用md virtual repeat来提高性能。据我所知,md virtual repeat指令在HTML表中不能完全工作,因此我使用的是基于div的表。它在一行中包含嵌套的div: <md-virtual-repeat-container class="table-body" navigable> <div layout="row" md-virtual-repeat="data in v

有一个AngularJS应用程序有一个大数据集(一个页面上有许多绑定),我正在使用md virtual repeat来提高性能。据我所知,md virtual repeat指令在HTML
表中不能完全工作,因此我使用的是基于div的表。它在一行中包含嵌套的div:

<md-virtual-repeat-container class="table-body" navigable>
    <div layout="row" md-virtual-repeat="data in vm.dataset" flex class="item-row">

        <div class="item-cell">
            <input type="text" ng-model="data.name">
        </div>

        <div layout="row" class="unit-container">
            <div class="item-cell" flex ng-repeat="_ in data.semiannual track by $index" ng-class="{'separator' : $index == 0}">
                <input type="number" ng-model="data.semiannual[$index]">
            </div>
        </div>

                 <!-- more unit-container divs with item-cell divs here -->       

   </div>    <!-- end of row div -->
</md-virtual-repeat-container>

同时使用
鼠标盖
,但未成功。我还尝试了更具体的选择器,如:
$('div.item-row div.item-cell')
和nada。 我认为这是因为嵌套的东西,但是也有
项单元格
div没有嵌套(不是
单元容器
类的子类),它们也没有被选中

附加信息:
item行
div上有一个CSS中定义的:hover伪类

我在SO上看到了一些类似的问题,解决方案是将.hover()更改为on('mouseenter'),但它对我不起作用


任何帮助都将不胜感激。提前感谢。

当您尝试访问元素时,是否确定您已经编译了DOM?如果您在控制器主体中编译了DOM,则DOM可能还不存在。您是否尝试过将其包装在
$timeout(..)
中?@Nikolajdallarsen我正在
导航
指令的
链接
函数中进行包装,该指令作为
md虚拟重复容器
元素的属性提供。选择一个常规的
div
效果很好。嗯,可能是虚拟的重复干扰了你。它只渲染可以在视口中看到的DOM(由容器表示),因此根据虚拟重复实现的不同,它可能首先清除所有嵌套元素(包括事件),然后仅重新创建可见的对象。这将导致删除事件。请不要考虑这一点:/解决方法之一是将指令应用于行元素(其中应用了
md virtual repeat
),并在该指令中注册(并销毁)事件。这样,即使虚拟重复删除了这些事件,也会使用元素重新创建这些事件。
$('.item-cell').hover(function(){ ... }, function(){ ... });
$('.item-cell').on('mouseenter', function(){ ... });