我有几个包含图像、文本和复选框的框:
<label name="skill" id="testbox" class="box tooltip" onclick="toggleCheckbox('test');" style="background-image:url('red.png')">
<span><img class="callout" src="callout.png"><script>document.write (test);</script></span>
<div class="margin">
<img src="">
test<input name="choice" value="1" id="test" type="checkbox" onchange="onCheckboxChanged(); checkTotal();" disabled>
</div>
当我单击标签中的任意位置并在此函数中使用它时,我尝试获取 id(测试框):
var onCheckboxChanged = function(checkbox){
var test = document.getElementById('test');
var testbox = document.getElementById('testbox');
var structure = document.getElementById('structure');
var structurebox = document.getElementById('structurebox');
if(structure.checked){
test.disabled = false;
structurebox.style.backgroundImage='url(green.png)';
}
else{
test.disabled = true;
structurebox.style.backgroundImage='url(grey.png)';
}
if(test.disabled){
testbox.style.backgroundImage='url(red.png)';
}
else {
if(test.checked){
testbox.style.backgroundImage='url(green.png)';
}
else{
testbox.style.backgroundImage='url(grey.png)';
}
}
};
我可以复制/粘贴代码并更改 ID,但我有 70 多个盒子,而且还会有更多。我试过了:
document.getElementsByName("skill")[0].getAttribute('id')
但它可能会从名为“技能”的框中获取所有 ID。我想我应该使用类似的东西,它可以工作,但我不知道如何将它连接到我的代码,所以我可以在我的函数中使用这个函数的点击 id(因为 var 是最好的)。