首页 > 解决方案 > 嵌套列表中的jQuery目标数据元素

问题描述

我有一个列表,其结构如下:

<ul  data-Id="2" class="listElement">
<li></li>
<li></li>
<li>
    <ul data-Id="3" class="listElement" style="display: none">
        <li></li>
        <li>
            <ul data-Id="4" class="listElement" style="display: none">
                <li></li>
            </ul>
        </li>
    </ul>
</li>

我需要能够定位当前隐藏的 ul 元素,并slidetoggle()对其进行操作。我曾尝试在 jQuery 中执行此操作,但效果不佳:

var test = 3; //i need to declare it as a var, because i get this from another item 
$('.listElement').find('[data-Id="' + test + '"]').slideToggle("fast");

什么都没有发生,我似乎找不到我在这里想念的东西

标签: javascriptjqueryhtml

解决方案


您的代码是正确的,但请确保在您的 javascript 代码运行时 dom 元素已经放置(准备好)。或者您的 javascript 应该在已租用文件的就绪事件上运行。

$(document).ready(function(){
    var test = 3; //i need to declare it as a var, because i get this from another item 
    $('.listElement').find('[data-Id="' + test + '"]').slideToggle("slow");
});

推荐阅读