我目前的代码就在下面。除了按钮功能外,一切都有效。
给我提出问题的一行是
var tesbut = new onclickfunc(buttons[g], 'testbuttloc');
线。我相信这是因为我无法将按钮[g]变成HTMLButtonElement,这就是为什么我有这条线。
buttons[g].setAttribute("type", "HTMLButtonElement");
我相信我需要上面的直线,因为每当我使用
时var tesbut = new onclickfunc(testbutt, 'testbuttloc');
它有效。 (这些是用XML声明的变量的名称)那么,有什么建议吗?
var buttons = [];
var subbuttons = [];
for(var mainsplunkcount = 0; mainsplunkcount<mx.length; mainsplunkcount++){
buttons[mainsplunkcount] = mx[mainsplunkcount].getElementsByTagName("BUTTON")[0].childNodes[0].nodeValue;
subbuttons[mainsplunkcount] =mx[mainsplunkcount].getElementsByTagName("BUTTONLOC")[0].childNodes[0].nodeValue;
mainnewstat.id = mainstatus[mainsplunkcount];
$("<div />", { "class":"Main_Category", id:"product"+group[mainsplunkcount] })
$("<button />", { id:buttons[mainsplunkcount] })
//divs that work
.append($('</button>'))
.append($('</div>'))
.appendTo(main_sort[mainsplunkcount]);
$("<div />", { id:subbuttons[mainsplunkcount], "class" : "hidden"})
.append($('<div class="group"><font size="2">' + maingroup[mainsplunkcount] + '</div></div>'))
.append($('</div>'))
.appendTo(main_sort[mainsplunkcount]);
}
//dropdown for submenus of menus
var onclickfunc = function(button, newpost){
button.onclick = function(){
var div = document.getElementById(newpost);
if(div.style.display !== 'none'){
div.style.display = 'none';
} else{
div.style.display = 'inline';
}
};
};
for(var g = 0; g<mx.length; g++){
buttons[g].setAttribute("type", "HTMLButtonElement");
var tesbut = new onclickfunc(buttons[g], 'testbuttloc');
}
XML代码
<MAINCONTAINER>
<GROUP>Test</GROUP>
<INOUT>test</INOUT>
<CRITICALITY>test</CRITICALITY>
<CALLNUMBER>6</CALLNUMBER>
<LOCATION>sortAll5</LOCATION>
<STATUSNAME>testt</STATUSNAME>
<BUTTON>testbutt</BUTTON>
<BUTTONLOC>testbuttloc</BUTTONLOC>