一直在寻找答案但没有找到答案。我有一个代码,显示一个基于参数“rg1”从服务器端genqueuesearch.php拉出的表。每行都有一个名为Queue的列,其中包含一个“rg1”字符串。该表有几列,但我的挑战只显示4列。这是我的AJAX代码:
<html>
<head>
<script language="Javascript">
function View(){
...
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("datatable").innerHTML=xmlhttp.responseText;
}
}
var parameters = "search="+"rg1";
xmlhttp.open("POST", "http://drcsblr0165/genqueuesearch.php", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send(parameters);
}
</script>
</head>
<body onload="View()">
<div id="datatable" align="center"></div>
</body>
</html>
尝试了getElementsbyTagName,但我不知道我想要的列的标记名称。这是否需要先将表保存到文本文件中?我感谢您的帮助,请问我是否不清楚。
答案 0 :(得分:0)
由于您无法改变服务器提供给您的内容,因此我们仅限于使用JavaScript解决此问题。我建议你使用jQuery,因为它会让你的事情变得更简单。
jQuery利用CSS选择器模式在DOM中查找元素。您可以利用它来选择要隐藏的表格中的哪些列。即使您不知道它们的名称,您甚至可以选择特定的列。
说,你从服务器上取回这样一张桌子并将它放在<div id="datatable">
中:
<div id="datatable" align="center">
<table>
<tr>
<td>dataRow1Col1</td>
<td>dataRow1Col2</td>
<td>dataRow1Col3</td>
<td>dataRow1Col4</td>
</tr>
<tr>
<td>dataRow2Col1</td>
<td>dataRow2Col2</td>
<td>dataRow2Col3</td>
<td>dataRow2Col4</td>
</tr>
<tr>
<td>dataRow3Col1</td>
<td>dataRow3Col2</td>
<td>dataRow3Col3</td>
<td>dataRow3Col4</td>
</tr>
<tr>
<td>dataRow4Col1</td>
<td>dataRow4Col2</td>
<td>dataRow4Col3</td>
<td>dataRow4Col4</td>
</tr>
</table>
</div>
例如,使用:nth-child
选择器不需要您知道类名称,$('#datatable td:nth-child(3)').hide();
将选择第3列并隐藏它。 (见例:http://jsfiddle.net/Cjsua/)
您可以在jQuery文档中找到更合适的选择器:http://api.jquery.com/category/selectors/
.hide()
函数只隐藏匹配的元素。