javascript - jquery 复选框树是否支持使用类选择器而不是 Id 以编程方式扩展的能力?

标签 javascript jquery jquery-selectors checkboxtree

我正在使用jquery checkboxtree plugin效果很好。我遇到了一种情况,我想以编程方式扩展某些节点。

我发现我可以通过 Id 执行以下操作:

$('#tabs-5-expand').click(function(){ 
    $('#tree5').checkboxTree('expand', $('#tabs-5-node23')); 
 }); 

我希望可以使用这样的类名来扩展多个节点

$('#tabs-5-expand').click(function(){ 
    $('#tree5').checkboxTree('expand', $('.bluetabs')); 
 }); 

但它似乎没有做任何事情。有谁知道是否有一种方法可以使用类选择器以编程方式扩展或折叠节点?

最佳答案

Check this fiddle并一次取消一个处理程序的注释。正确的方法是迭代 元素的数组。查看评论了解更多信息。

<ul id="tree6">
    <li><input type="checkbox" checked><label>Root</label>
        <ul>
            <li class="bluetabs"><input type="checkbox"><label>Node 1</label>
                <ul>
                    <li><input type="checkbox"><label>Node 1.1</label></li>
                </ul>
            </li>   
            <li><input type="checkbox" checked><label>Node 2</label>
                <ul>
                    <li><input type="checkbox"><label>Node 2.1</label></li>
                    <li><input type="checkbox"><label>Node 2.2</label></li>
                    <li class="bluetabs"><input type="checkbox"><label>Node 2.3</label>
                        <ul>
                            <li><input type="checkbox"><label>Node 2.3.1</label></li>
                            <li><input type="checkbox"><label>Node 2.3.2</label></li>
                        </ul>
                    </li>   
                    <li><input type="checkbox"><label>Node 2.4</label></li>
                    <li><input type="checkbox"><label>Node 2.5</label></li>
                    <li><input type="checkbox"><label>Node 2.6</label></li>
                </ul>
            </li>   
        </ul>
    </li>           
</ul>

<button id="test">Press to expand</button>


$('#tree6').checkboxTree({
    initializeChecked: 'expanded',
    initializeUnchecked: 'collapsed'
}); 


//If all the bluetabs are collapsed this will work. If you expand one of the blue ones, then it won't work for the other.
$('#test').click(function() {
    $('#tree6').checkboxTree( 'expand', $('.bluetabs') );
});


//This will work regardless
$('#test').click(function() {
    $('.bluetabs').each(function() {
        $('#tree6').checkboxTree( 'expand', $(this) );
    });
});

关于javascript - jquery 复选框树是否支持使用类选择器而不是 Id 以编程方式扩展的能力?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25880911/

相关文章:

javascript - jQuery 添加/删除按钮上的类以隐藏元素

javascript - 需要将小数限制为 20

javascript - 动态生成的日历元素上的 jQuery 单击事件?

javascript - 带 ID 的 jQuery 选择器的性能

javascript - 如何使用 jQuery 获取选择的所有选项?

javascript - 当用户滚动时,粘性导航栏重新出现

javascript - 自调用函数 jQuery

javascript - 如何在 Highcharts 图表上绘制垂直线?

javascript - jQuery UI Accordion 专注于打开的项目

jquery - 导航器警报功能在第二次后起作用