使用JavaScript设置数据属性
我正在使用DynaTree(https://code.google.com/p/dynatree),但我有一些问题,希望有人可以帮助..
我在如下所示的页面上显示树:
<div id="tree"> <ul> <li class="folder">Outputs <ul> <li id="item1" data="icon: 'base.gif', url: 'page1.htm', target: 'AccessPage'">Item 1 Title <li id="item2" data="icon: 'base.gif', url: 'page2.htm', target: 'AccessPage'">Item 2 Title <li id="item3" data="icon: 'base.gif', url: 'page3.htm', target: 'AccessPage'">Item 3 Title <li id="item4" data="icon: 'base.gif', url: 'page4.htm', target: 'AccessPage'">Item 4 Title </ul> </ul> </div>
不过,我试图改变项目上的图标,无论是否select或不使用JavaScript 。
我想要使用的新图标是base2.gif
我已经尝试使用以下,但它似乎并没有工作:
document.getElementById('item1').data = "icon: 'base2.gif', url: 'output.htm', target: 'AccessPage', output: '1'";
谁知道我可能做错了什么?
使用setAttribute
方法:
document.getElementById('item1').setAttribute('data', "icon: 'base2.gif', url: 'output.htm', target: 'AccessPage', output: '1'");
但是你真的应该使用数据后跟一个破折号和它的属性,如:
<li ... data-icon="base.gif" ...>
要在JS中使用dataset
属性:
document.getElementById('item1').dataset.icon = "base.gif";
请使用数据集
var article = document.querySelector('#electriccars'), data = article.dataset; // data.columns -> "3" // data.indexnumber -> "12314" // data.parent -> "cars"
所以在你的情况下设置数据:
getElementById('item1').dataset.icon = "base2.gif";