gpt4 book ai didi

JavaScript-如何通过点击图片显示/隐藏tr textarea

转载 作者:行者123 更新时间:2023-11-28 04:17:44 25 4
gpt4 key购买 nike

我有三个名为“down.png”的图像和三个 dropDownTextAreas。每次单击图像时,我都想单独显示/隐藏文本区域。

例如,如果点击第一张图片,第一个文本区域出现,点击第二张图片,第二个文本区域出现,等等。

但我的问题是每次单击其中一张图片时,所有文本区域都会显示出来。

非常感谢!

<script>
function showHide(){
var textArea = document.getElementsByClassName("dropDownTextArea");
for(var i=0; i<textArea.length; i++){
if(textArea[i].style.display == "none"){
textArea[i].style.display="table-row";
}else{
textArea[i].style.display="none";
}
}
}
</script>

<style>
.dropDownTextArea{
display: none;
}
</style>

<table id="myTable" >
<tr>
<th></th>
<th>STUDENT</th>
<th>ADVISOR</th>
<th>AWARD<br/>STATUS</th>
<th>SEMESTER</th>
<th>TYPE</th>
<th>BUDGET<br />#</th>
<th>PERCENTAGE</th>
</tr>

<tr>
<td>
<input type="checkbox" name="myCheckbox" /><br /><br />
<img src="down.png" width="25px" onclick="showHide()"/>
</td>
<td>Student 1</td>
<td>Teacher 1</td>
<td>Approved</td>
<td>Fall</td>
<td>TA</td>
<td>12345</td>
<td>100%</td>
</tr>
<tr class="dropDownTextArea"><td id="myDropDown" colspan="8">
Advisor:<br /><br />
Award Details<br />
Summer 1-2014(TA)<br />
Budget Number: <img src="pencil.png"><br />
Tuition Number: <img src="pencil.png"><br />
Comments:<br /><br /><br />
Award Status:<br /><br /><br />
</td></tr>

<tr>
<td>
<input type="checkbox" name="myCheckbox" /><br /><br />
<img src="down.png" width="25px" onclick="showHide()"/>
</td>
<td>Student 2</td>
<td>Teacher 2</td>
<td>Approved</td>
<td>Fall</td>
<td>TA</td>
<td>23456</td>
<td>100%</td>
</tr>
<tr class="dropDownTextArea"><td id="myDropDown" colspan="8">
Advisor:<br /><br />
Award Details<br />
Summer 1-2014(TA)<br />
Budget Number: <img src="pencil.png" > <br />
Tuition Number: <img src="pencil.png" ><br />
Comments:<br /><br /><br />
Award Status:<br /><br /><br />
</td></tr>

<tr>
<td>
<input type="checkbox" name="myCheckbox" "/><br /><br />
<img src="down.png" width="25px" onclick="showHide()"/>
</td>
<td>Student 3</td>
<td>Teacher 3</td>
<td>Approved</td>
<td>Fall</td>
<td>TA</td>
<td>34567</td>
<td>100%</td>
</tr>
<tr class="dropDownTextArea" "><td id="myDropDown" colspan="8">
Advisor:<br /><br />
Award Details<br />
Summer 1-2014(TA)<br />
Budget Number: <img src="pencil.png"><br />
Tuition Number: <img src="pencil.png"><br />
Comments:<br /><br /><br />
Award Status:<br /><br /><br />
</td></tr>
</table>

最佳答案

你必须绑定(bind)每个元素<img>作为onclick="showHide(this)"到函数 showHide(obj)

Properties and Methods DOM 元素对象

所以你的函数将是

  function showHide(obj) {
var textArea = document.getElementsByClassName("dropDownTextArea");
for (var i = 0; i < textArea.length; i++) {
if (textArea[i].previousElementSibling.firstElementChild.children[3] == obj) {
if (textArea[i].style.display == "table-row") {
textArea[i].style.display = "none";
} else {
textArea[i].style.display = "table-row"
}
} else {
textArea[i].style.display = "none";
}


}
}

Fiddle Link for demo

关于JavaScript-如何通过点击图片显示/隐藏tr textarea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42396851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com