dom的高级操作问题

zl07 2009-07-26
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;  charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<!--生成的表格-->
<table class="tbl" id="tbl" border="1" width="100%"><tbody>
<tr class="alt" align="center">
 <td class="editor"><span>用户ID</span></td>
<td class="editor" align="center"><span>用户名</span></td>
<td class="editor" align="center"><span>联系人</span></td>
<td class="editor" align="center"><span>地址</span></td>
<td class="editor" align="center"><span>电话</span></td>
<td class="editor" align="center"><span>机型</span></td>
<td class="editor" align="center"><span>使用频率</span></td>
<td class="editor" align="center"><span>费用</span></td></tr>


<tr align="center">
<td class="editor"><span>1</span><input style="display: none;" value="1" id="1" name="1" type="checkbox"></td>
<td class="editor" align="center"><span style="display: block;">物业</span><input style="display: none;" value="物业" size="12" id="name1" name="name1" type="text"></td>
<td class="editor" align="center"><span>暂无</span><input style="display: none;" value="暂无" size="12" id="user1" name="user1" type="text"></td><td class="editor" align="center"><span>迎宾大道</span><input style="display: none;" value="迎宾大道" size="12" id="address1" name="address1" type="text"></td>
<td class="editor" align="center"><span>暂无</span><input style="display: none;" value="暂无" size="12" id="phone1" name="phone1" type="text"></td>
<td class="editor" align="center"><span>1111</span><input style="display: none;" value="1111" size="12" id="models1" name="models1" type="text"></td>
<td class="editor" align="center"><span>4000</span><input style="display: none;" value="4000" size="12" id="amount1" name="amount1" type="text"></td>
<td class="editor" align="center"><span>2400</span><input style="display: none;" value="2400" size="12" id="costs1" name="costs1" type="text"></td>
</tr>

<tr class="alt" align="center">
<td class="editor"><span>2</span><input style="display: none;" value="2" id="2" name="2" type="checkbox"></td>
<td class="editor" align="center"><span>洪森</span><input style="display: none;" value="洪森" size="12" id="name2" name="name2" type="text"></td>
<td class="editor" align="center"><span>暂无</span><input style="display: none;" value="暂无" size="12" id="user2" name="user2" type="text"></td>
<td class="editor" align="center"><span>暂无</span><input style="display: none;" value="暂无" size="12" id="address2" name="address2" type="text"></td>
<td class="editor" align="center"><span>暂无</span><input style="display: none;" value="暂无" size="12" id="phone2" name="phone2" type="text"></td>
<td class="editor" align="center"><span>2222</span><input style="display: none;" value="2222" size="12" id="models2" name="models2" type="text"></td>
<td class="editor" align="center"><span>500</span><input style="display: none;" value="500" size="12" id="amount2" name="amount2" type="text"></td>
<td class="editor" align="center"><span>500</span><input style="display: none;" value="500" size="12" id="costs2" name="costs2" type="text"></td></tr>

</tbody></table>



</body>
</html>


这段代码只能实现单击td来显示input。有没好的办法实现单击tr显示所有该tr下的input?
birdbiena 2009-07-29
坐个所谓的沙发,给你解决了,在你的TR上加上ID就可以解决了
不多解释了
birdbiena 2009-07-29
看看是不是你的需求,给个回复
birdbiena 2009-07-29
你也可以这么写,在点一次又可以在变回去,还可以把
birdbiena 2009-07-29
改第三次了,给你我的最后一个写法,其它功能你都可以自己实现了
document.onmousedown = cilckTR;
function cilckTR() {
	try {
		var stata = "";
		var eventSrcByID = event.srcElement.parentElement.id;
		var tableByID = document.getElementById('tbl')
				.getElementsByTagName('TR');

		for (var j = 1; j < tableByID.length; j++) {
			var tableByID_id = tableByID[j].id;
			if (eventSrcByID == tableByID_id) {
				stata = document.getElementById(tableByID_id)
						.getElementsByTagName('input');
				if (stata[0].style.display == 'none') {
					for (var i = 0; i < stata.length; i++) {
						stata[i].style.display = 'block';
					}
				} else {
					for (var i = 0; i < stata.length; i++) {
						stata[i].style.display = 'none';
					}
				}
			}
		}
	} catch (exception) {

	}
}

zl07 2009-07-29
呵呵`谢谢了``我用的类似的方法`,但是没用id的方法。

还是先获取TR元素,然后遍历。双击触发事件。
var rows = document.getElementById('tbl').getElementsByTagName('tr');
for (var i=1,len=rows.length;i<len;i++) {
Event.add(rows[i],"dblclick",function() {zTable.editor(this,fun); }); 
   }


根据上面的传参指定范围,获取TD元素,`遍历```最后判断显示`或隐藏```

嘿嘿``

目前看来少写一个for循环`
Global site tag (gtag.js) - Google Analytics