0
var inputs = document.getElementsByTagName("li");
for(var i = 0; i < inputs.length; i++)
{
    if(inputs[i].id.indexOf(startsWith) == 0) {
        eles.push(inputs[i].id);
    }
}
for(var j=0; j < eles.length; j++) {
    document.getElementById(eles[j]).setAttribute("class","jstree-checked");                
}

li我在我的文档标签中取出以特定模式开头的 id 。
我正在更改li生成的 id 的标签类别。
我还需要li整体禁用标签中存在的内容。
是否可以使用 javascript 或 jquery 来做到这一点?

更新:
我在每个<li>标签内都有一个复选框和文本消息。
需要禁用复选框(不可点击)并将文本显示为禁用。

<li id="1_1" class="jstree-leaf jstree-no-icons jstree-last jstree-leaf jstree-unchecked" crawllocation="D:\company\deploy\AppServer\fusionEAR.ear" name="fusionEAR.ear">
<ins class="jstree-icon"> </ins>
<a class="" href="#" style="">
<ins class="jstree-checkbox"> </ins>
<ins class="jstree-icon "> </ins>
fusionEAR.ear
</a>
</li>

试过这些:

for(var j=0; j < eles.length; j++){
//jQV6('#jstreeDivforBrowse').jstree("check_node","#"+eles[j]);
document.getElementById(eles[j]).setAttribute("class","jstree-default jstree-checked");
//$.jstree._reference('#jstreeDivforBrowse').set_type("disabled", "#"+eles[j]); -- First try to disable
//eles[j].disabled = true;-- Second try to disable
//$("#"+eles[j]).attr('disabled', 'true');-- Third try to disable
//$("#"+eles[j]).addClass("jstree-leaf jstree-no-icons jstree-last jstree-leaf jstree-checked").find(":input").attr("disabled", "disabled");-- Fourth try to disable
        }

在任何这些尝试中,我都找不到我的复选框被禁用。但是通过更改给定的循环内的类名,对于所需的 id,选择复选框的任务是成功的。

4

2 回答 2

2

types插件可用于自定义jstree中的节点。

 types: {
    "disabled": {
        "select_node": false,
        "open_node":   false,
        "close_node":  false,
        "create_node": false,
        "delete_node": false
    }
}

请注意,我们定义了 aType并将其命名为disabled,因此我们为元素添加了属性以rel使其禁用。这就是 jsTree使用该属性的方式。disabled<li>typerel

随着Type被声明,在你的循环中添加,

document.getElementById(eles[j]).setAttribute("rel","disabled");

我希望这可以帮助你。

于 2013-01-23T05:16:37.173 回答
-1

用来 $("/* li element*/").attr("disabled", "disabled");禁用它

$("/* li element*/").hide(); 隐藏它

在你的情况下

for(var j=0; j < eles.length; j++) {
$("#"+eles[j]).addClass("jstree-checked").find(":input").attr("disabled", "disabled");

}
于 2013-01-23T04:58:21.953 回答