Javascript 当我点击一个div时,它会隐藏另一个div
这段代码一直工作到第8版,但在第8版之后就不工作了。为什么会发生这种情况?请帮助我 还有一件事请允许我解释一下,如果你纠正了这个代码,这个问题就来了,因为这个方法对更多的div不起作用,对不起,我知道这是个愚蠢的问题。提前谢谢Javascript 当我点击一个div时,它会隐藏另一个div,javascript,html,css,Javascript,Html,Css,这段代码一直工作到第8版,但在第8版之后就不工作了。为什么会发生这种情况?请帮助我 还有一件事请允许我解释一下,如果你纠正了这个代码,这个问题就来了,因为这个方法对更多的div不起作用,对不起,我知道这是个愚蠢的问题。提前谢谢 <div style="flex: 1"> <label class="ac_trigger" for="ac1">Sweets</label>
<div style="flex: 1">
<label class="ac_trigger" for="ac1">Sweets</label>
<input type="checkbox" class="ac_hide" onclick="showHide(this,'div1')" id="ac1" name="x1">
</div>
<div class="ac_container" id="div1">
{% for a,b in sweets.items %}
<table class="foods">
<tr>
<th id="{{b}}">{{b}}</th><td><input type="number" name="{{a}}" value="0" id="{{a}}"></td>
</tr>
</table>
{% endfor %}
</div>
..................so on to below one.............
<div style="flex: 1">
<label class="ac_trigger" for="ac35">Vegitables</label>
<input type="checkbox" class="ac_hide" onclick="showHide(this,'div35')" id="ac35" name="x1">
</div>
<div class="ac_container" id="div35">
{% for a,b in veg.items %}
<table class="foods">
<tr>
<th id="{{b}}">{{b}}</th><td><input type="number" name="{{a}}" value="0" id="{{a}}"></td>
</tr>
</table>
{% endfor %}
</div>
</div>
</div>
<div style="text-align: center;">
<button>Submit</button>
</div>
</form>
<script type="text/javascript">
function showHide(tagData, divId){
let allInputs = ['ac1','ac2','ac3','ac4','ac5','ac6','ac7','ac8','ac9','ac10','ac11','ac12','ac13','ac14','ac15','ac16','ac17','ac18','ac19','ac20','ac21','ac22','ac23','ac24','ac25','ac26','ac27','ac28','ac29','ac30','ac31','ac32','ac33','ac34','ac35'];
let divToChange = document.getElementById(divId);
divToChange.style.display = tagData.checked ? "block" : "none";
if(tagData.checked){
for(let i = 0 ; i = allInputs.length ; i++){
if(tagData.id !== allInputs[i]) {
let divToHideId = 'div'+allInputs[i].substr(allInputs[i].length - 1)
document.getElementById(divToHideId).style.display = 'none'
document.getElementById(allInputs[i]).checked = false
}
}
}
};
</script>
糖果
{sweets.items%%中a、b的百分比]
{{b}
{%endfor%}
以此类推至1以下。。。。。。。。。。。。。
蔬菜
{veg.items%中a、b的百分比}
{{b}
{%endfor%}
提交
函数showHide(tagData,divId){
让所有输入=['ac1'、'ac2'、'ac3'、'ac4'、'ac5'、'ac6'、'ac7'、'ac8'、'ac9'、'ac10'、'ac11'、'ac12'、'ac13'、'ac14'、'ac15'、'ac16'、'ac17'、'ac18'、'ac19'、'ac20'、'ac21'、'ac22'、'ac23'、'ac24'、'ac25'、'ac26'、'ac27'、'ac28'、'ac30'、'ac34';
让divToChange=document.getElementById(divId);
divToChange.style.display=tagData.checked?“块”:“无”;
if(tagData.checked){
for(设i=0;i=allInputs.length;i++){
如果(tagData.id!==所有输入[i]){
设divToHideId='div'+allInputs[i].substr(allInputs[i].length-1)
document.getElementById(divToHideId).style.display='none'
document.getElementById(allInputs[i]).checked=false
}
}
}
};
你似乎遗漏了什么
<script type="text/javascript">
function showHide(tagData, divId){
let allInputs = ['ac1','ac2','ac3','ac4','ac5','ac6','ac7','ac8','ac9','ac10','ac11','ac12','ac13','ac14','ac15','ac16','ac17','ac18','ac19','ac20','ac21','ac22','ac23','ac24','ac25','ac26','ac27','ac28','ac29','ac30','ac31','ac32','ac33','ac34','ac35'];
let divToChange = document.getElementById(divId);
divToChange.style.display = tagData.checked ? "block" : "none";
if(tagData.checked){
//TRY TO USE for(let i = 0;i<=allInputs.length;i++)
for(let i = 0 ; i = allInputs.length ; i++){
if(tagData.id !== allInputs[i]) {
let divToHideId = 'div'+allInputs[i].substr(allInputs[i].length - 1)
document.getElementById(divToHideId).style.display = 'none'
document.getElementById(allInputs[i]).checked = false
}
}
}
};
</script>
函数showHide(tagData,divId){
让所有输入=['ac1'、'ac2'、'ac3'、'ac4'、'ac5'、'ac6'、'ac7'、'ac8'、'ac9'、'ac10'、'ac11'、'ac12'、'ac13'、'ac14'、'ac15'、'ac16'、'ac17'、'ac18'、'ac19'、'ac20'、'ac21'、'ac22'、'ac23'、'ac24'、'ac25'、'ac26'、'ac27'、'ac28'、'ac30'、'ac34';
让divToChange=document.getElementById(divId);
divToChange.style.display=tagData.checked?“块”:“无”;
if(tagData.checked){
//尝试使用(让i=0;i函数,这是我们在这个问题上需要的函数
我现在很高兴……向他人致以最良好的问候
function showHide(evt, divId) {
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("ac_container");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
tablinks = document.getElementsByClassName("ac_hide");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
document.getElementById(divId).style.display = "block";
evt.currentTarget.className += " active";
}
函数showHide(evt,divId){
var i,tabcontent,tablinks;
tabcontent=document.getElementsByClassName(“ac_容器”);
对于(i=0;i
no bro it's not working plzz help me解决问题我已经这么做了我发布了这个错误的标签,因为如果你看div标签,你正在分配id=“ac1”,因此你不可能使用showHide(这个,“div1”)访问。试着将参数更改为下面的参数。onclick=“showHide(this,'ac1')”onclick=“showHide(this,'ac1')”它不工作,然后或plzz你可以建议任何其他方法来做这整个功能