2

jqTree では、HTML ファイルの先頭にある JavaScript ブロックに次のコードを配置すると、小さなツリービューが生成されます。

var data = [
{
    label: 'node1',
    children: [
        { label: 'child1' },
        { label: 'child2' }
    ]
},
{
    label: 'node2',
    children: [
        { label: 'child3' }
    ]
}
];
$(function() {
    $('#tree').tree({
        data: data
    });
});

これまでのところ、これは私にとってうまくいっています。ただし、アプリのステータスに応じて各ノード/子の色を変更できるように、HTML/CSS で各ノードおよび/または子に ID を付与できるようにしたいと考えています。ツリービューの HTML は$(function())呼び出しで動的に作成されるため、デバッガーまたは要素インスペクターで表示できますが、実際に編集することはできません。

これをどうするかについての提案はありますか?

--

jqTree には、次のように、データ宣言の一部としてノードに ID を割り当てる方法があります。

var $tree = $('#tree1');
var data = [
    { id: 10, name: 'n1' },
    { id: 11, name: 'n2' }
];

$tree.tree({
    data: data
});
var node = $tree.tree('getNodeById', 10);

ただし、これらの ID は HTML ID ではないようです。要素の検査に表示されないためです。

その getNodeById 関数によって返されたノードを変更して HTML ID を与えることができる JScript 関数があると思いますが、誰かがもっと簡単で簡単な方法を思い付くことができれば、それを好むでしょう。私の現在の設定ではノードがファイルにハードコードされていますが、最終的には JSON を使用して動的に生成するので、それで動作するソリューションは素晴らしいでしょう。

4

2 に答える 2

0

各ノードにクラスを与え、そのクラスの ID を設定します

var data = [
    { class: '10' },
    { class: '11' }
];

その後

 $(".10").attr('id', 10);
于 2013-07-29T19:05:36.357 に答える