我有一个树视图和一个texbox,允许用户搜索树视图中的节点。
我已经编写了JS函数,用于确定树视图中是否存在节点 我想要的是为用户搜索的节点着色。我怎么能这样做?
答案 0 :(得分:2)
使用CSS并在Javascript中更改className。所以说你的节点是div。当您在Javascript中找到节点时,您会执行以下操作:
divFoundNode.className = "selected";
然后确保您的CSS具有选定的背景颜色集类。这看起来像这样:
.selected {background-color:red;} /* whatever your selected color is here */
如果您不想使用CSS,可以通过以下方式直接更改节点的颜色:
divFoundNode.style.backgroundColor = "red";
现在,您可能还需要关闭先前选择的其他节点的选择。要做到这一点,你有几个选择。您可以在设置所选节点之前运行所有节点并删除颜色(如上所述),或者您可以在Javascript中使用最后选择的div存储变量,然后只定位该节点。所以你会做这样的事情:
var divLastFoundNode; //global variable
function treeView_SelectNode(divFoundNode)
{
divLastFoundNode.className = "";
divFoundNode.className = "selected";
divLastFoundNode = divFoundNode;
}
JQuery会让这更容易。您可以选择大量节点并一次对所有节点执行操作。例如:
$("div.node").removeClass("selected");
$(divFoundNode).addClass("selected");
答案 1 :(得分:0)
很难说没有一些代码,但是这个怎么样?
document.getElementById("foundnodeid").style.color="#abcdef";
即使我宁愿改变课程而不是直接改变颜色,但这取决于你:
document.getElementById("foundnodeid").style.class="classwithdifferentcolor";