我有一张桌子,我隐藏了一些行.我想在显示的所有行中获得第一个td.我有以下声明
$("table.SimpleTable tbody tr:visible td:first-child");
Run Code Online (Sandbox Code Playgroud)
这适用于FireFox而不是IE中的任何想法?
这应该工作.使用HTML看起来像这样:
<table class='SimpleTable'>
<tr style='display: none;'>
<td>test1</td>
</tr>
<tr>
<td>test2</td>
</tr>
<tr>
<td>test3</td>
</tr>
<tr style='display: none;'>
<td>test4</td>
</tr>
<tr>
<td>test5</td>
</tr>
<tr>
<td>test6</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
这样做:
$("table.SimpleTable tbody tr:visible td:first-child").css('color','red');
Run Code Online (Sandbox Code Playgroud)
使用Firefox,IE7中的颜色为红色.你的HTML是什么样的?
编辑:对我来说,你需要做你现在正在做的事情是非常奇怪的.你应该能够用这个替换你现在拥有的东西:
var serials = [];
$("table.SimpleTable tbody tr:visible td:first-child").each(function() {
serials.push($.trim($(this).text()));
});
var serials = serials.join(',');
Run Code Online (Sandbox Code Playgroud)
如果正在从选择器填充TD,则它们应该只是可见的.如果你将隐藏的TD加入到连续出版物中(我必须强调,它应该真的不会发生,并且是某个错误或某个错误的标志),请尝试使用此选择器:
$("table.SimpleTable tbody tr:not(:hidden) td:first-child")
Run Code Online (Sandbox Code Playgroud)
我在点击事件上运行代码.你写的html非常有用,但由于某些我不知道的原因它不起作用.我找到了一个工作.(我试图在第一个td中为可见行获取逗号分隔的所有值的字符串)无论如何,以下解决方法可以完成工作.
var notfirst = false;
var serials = "";
var tds = $("table.SimpleTable tbody tr:visible td:first-child");
for (var i = 0; i < tds.length; i++) {
var td = $(tds[i]);
if (td.is(":hidden"))
continue;
if (notfirst)
serials += ",";
else
notfirst = true;
serials += $.trim(td.text());
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因:隐藏标签正常工作但不是:IE7中可见
| 归档时间: |
|
| 查看次数: |
13768 次 |
| 最近记录: |