使用javascript </li>禁用<li>标记内容

时间:2013-01-23 04:54:11

标签: javascript jquery jstree

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 我正在更改生成的ID的li标记的类 我还需要整体禁用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是成功的。

2 个答案:

答案 0 :(得分:2)

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

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

注意我们定义了Type并将其命名为disabled,因此我们将rel属性disabled添加到<li>元素中禁用。这就是jsTree使用type属性查找rel的方式。

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

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

我希望这会对你有所帮助。

答案 1 :(得分:0)

使用$("/* 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");

}