我在表格中有一些行,如下面的代码,我想在几秒钟之后隐藏td
的内容(我已经在循环中填充了文本)。
我的示例代码是
setTimeout(function() {
$('span').each(function(index, el) {
$(this).hide();//nothing happens
});
}, 5000);
<tr>
<span class="myspan"><td></td></span>
<span class="myspan"><td></td></span>
<span class="myspan"><td></td></span>
<span class="myspan"><td></td></span>
</tr>
我也尝试过使用其他方法,例如将所有span
保存到数组中,或者选择该类并隐藏它。
var arr=$('span');
for (var i=0;i<arr.length;i++){
arr[i].css('visibility','hidden');
}
但同样的事情发生了。我希望能够在不需要隐藏边框的情况下显示和隐藏td
的内容,如果可能的话
答案 0 :(得分:0)
你可以使用表格中td标签中的任何元素。 否则浏览器将您的代码转换为有效代码。 输出你的HTML就像在浏览器中那样:
<body>
<span class="myspan"></span>
<span class="myspan"></span>
<span class="myspan"></span>
<span class="myspan"></span>
<table>
<tbody>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</body>
您选择跨度,但目标范围内不再有td。所以你的选择是假的。
你必须改变你的HTML:
<tr>
<td><span class="myspan"></span></td>
<td><span class="myspan"></span></td>
<td><span class="myspan"></span></td>
<td><span class="myspan"></span></td>
</tr>
现在您可以选择它并执行您的功能:
var arr=$('span');
arr.css('visibility','hidden');
或
var arr=$('span');
arr.hide();
稍后会告诉你:
att.show();
你不需要或任何循环。只需选择你的目标并说你想做什么。 JQuery为你的选择器中的每一个做(对象就像一个循环)
答案 1 :(得分:-1)
要在5秒后隐藏所有内容,您可以使用以下代码
setTimeout(function() {
$('table tr span').hide(5000);
}, 5000);
或
setTimeout(function() {
$('table tr span').css('visibility','hidden');
}, 5000);