标签: html-table

无法动态地向IE中的<TABLE>添加行?

我有一个AJAX应用程序,它下载一个JSON对象并使用这些数据使用Javascript DOM函数向HTML <table>添加行.它完美无缺......除了在Internet Explorer中.IE没有出现任何类型的错误,我已经尽可能地验证了浏览器正在执行的代码,但它根本没有效果.我创建了这个快速而脏的页面来演示问题:

<!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><title></title></head><body>

<table id="employeetable">
    <tr>
        <th>Name</th>
        <th>Job</th>
    </tr>
</table>

<script type="text/javascript">
    function addEmployee(employeeName, employeeJob) {
        var tableElement = document.getElementById("employeetable");
        if (tableElement) {
            var newRow = document.createElement("tr");
            var nameCell = document.createElement("td");
            var jobCell = document.createElement("td");
            nameCell.appendChild(document.createTextNode(employeeName));
            jobCell.appendChild(document.createTextNode(employeeJob));
            newRow.appendChild(nameCell);
            newRow.appendChild(jobCell);
            tableElement.appendChild(newRow);
            alert("code executed!");
        }
    }

    setTimeout("addEmployee(\"Bob Smith\", \"CEO\");", 1000);
    setTimeout("addEmployee(\"John Franks\", \"Vice President\");", 2000);
    setTimeout("addEmployee(\"Jane Doe\", \"Director of Marketing\");", 3000);
</script>

</body></html>
Run Code Online (Sandbox Code Playgroud)

我没有尝试IE 8,但IE 7和IE 6都没有显示应该添加的额外行.我无法理解为什么.有谁知道这个问题的好方法,或者我可能做错了什么?

javascript ajax internet-explorer html-table cross-browser

21
推荐指数
2
解决办法
1万
查看次数

如何在不通过AJAX加载数据的情况下使用javascript对HTML表进行排序?

如何在不通过AJAX加载数据的情况下使用javascript对表进行排序?更具体地说,我正在寻找一个解决方案,它给了我以下内容:

  • 适用于普通的旧HTML表
  • 使用自然比较使列可排序
  • 与服务器端技术无关(无论表是由JSP,PHP等呈现,都应该是可移植的)
  • 最好实现为JQuery的扩展,我已经在特定项目中使用,我想立即应用它.我对涉及另一个javascript框架(如YUI)的建议持开放态度,但它需要与JQuery一起使用.

我不想要的:

  • 需要我通过AJAX调用填充数据的解决方案.我想在一个项目中应用它,这个项目包含许多普通的旧HTML表格,用于搜索结果,我希望在不重写任何服务器端代码的情况下快速进行排序.
  • 寻呼.
  • 过滤.
  • 指定任意比较逻辑的能力.

我有意为我现在正在处理的特定项目省略了我们的技术堆栈,但是如果人们觉得它是绝对必要的,那么它将包含它.同样,我最感兴趣的是在服务器上不涉及任何内容的解决方案.有很多项目用各种语言写成,可以在这个领域使用一点点爱.

关于Stack Overflow上类似的现有问题

我做了一些探讨,我能找到的最接近的问题就是这个问题.然而,我的要求有点不同,所以我决定提出一个新问题.

html javascript sorting jquery html-table

21
推荐指数
1
解决办法
3万
查看次数

溢出:滚动; 在<td>

为什么CSS属性overflow:scroll;不起作用<td>,虽然overflow:hidden;效果很好?

<table border="1" style="table-layout:fixed; width:100px">
  <tr>
    <td style="overflow:scroll; width:50px;">10000000000000000000000000000000000</td>
    <td>200</td>
    <td>300</td>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

从CSS规范1,2,我不明白为什么.

html css scroll html-table css-tables

21
推荐指数
3
解决办法
5万
查看次数

当行内的单元格具有类名时,为什么CSS悬停不能处理表行?

我坚持这个问题所以任何帮助将不胜感激.我有一个有几行的表.行中的每个单元属于某个类.我使用这些类名来为单元格着色.

这是我表中的一个示例行:

<tr>
     <td class = "summarypage-odd-column">Theme</td>    <td class = "summarypage-odd-column">Q2 2009</td>   <td class = "summarypage-odd-column">Q1 2009</td>
     <td class = "summarypage-even-column">Theme</td>   <td class = "summarypage-even-column">Q2 2009</td>  <td class = "summarypage-even-column">Q1 2009</td>
     <td class = "summarypage-odd-column">Business Area</td>    <td class = "summarypage-odd-column">Q1 2009</td>   <td class = "summarypage-odd-column">Q1 2008</td>
 </tr>
Run Code Online (Sandbox Code Playgroud)

当用户将鼠标指针移动到该行中的任何单元格上时,我想突出显示每一行.所以我使用以下CSS代码来实现这一点.

tr:hover {
  background-color: #FFFAF0; color: #000;
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,似乎因为每个表数据单元都有一个类名,悬停不起作用.但是,如果我从数据单元格中删除类名,则悬停可以正常工作.

我的问题是,有什么方法可以让悬停的东西为表行工作,同时仍然有行内的表数据单元的类名.

css html-table hover

21
推荐指数
1
解决办法
5万
查看次数

表垂直标题?

如何使表格标题在表格的左侧显示为列而不是在顶部显示为行?我有这个标记:

<table>
  <thead>
    <tr>
      <th>a</th>
      <th>b</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>2</td>
    </tr>
  </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

html css xhtml html-table

21
推荐指数
2
解决办法
4万
查看次数

HTML表格很大时响应慢

我正在开发一个用于产品数据管理的webapp,其中产品数据显示在一个包含4列(索引号,SKU,产品描述和库存)的表中.

我面临的问题是,当表变得非常大(> 1000行)时,页面非常滞后,特别是当我将鼠标悬停在一行上时(我__CODE__在CSS中定义).

我尝试通过使用一些javascript来部分地显示数据并在用户向下滚动时加载更多来解决此问题:

/**
 * @namespace Start the project called 'stck'
 */
var stck = {};

/**
 * Variable to save stock loaded
 */
stck.stockInfo = [];

/**
 * Load the item informaction acording the SKU
 * @private
 * @param {string} SKU The SKU of the item
 */
stck.loadItemInformation = function(SKU) {
  var descriptionsTable = document.getElementById('descriptionsTable');
  for (var rowsLength = descriptionsTable.rows.length - 1; --rowsLength; ) {
    descriptionsTable.deleteRow(1);
  }
  var pricesTable = document.getElementById('pricesTable');
  for (var rowsLength = pricesTable.rows.length …
Run Code Online (Sandbox Code Playgroud)

javascript css html-table

21
推荐指数
4
解决办法
5万
查看次数

单击表行删除按钮后删除表行

解决方案可以使用jQuery或纯JavaScript.

我想在用户单击表格行单元格中包含的相应按钮后删除表格行,例如:

<script>
function SomeDeleteRowFunction() {
 //no clue what to put here?
}
</script>

<table>
   <tr>
       <td><input type="button" value="Delete Row" onclick="SomeDeleteRowFunction()"></td>
   </tr>
   <tr>
       <td><input type="button" value="Delete Row" onclick="SomeDeleteRowFunction()"></td>
   </tr>
   <tr>
       <td><input type="button" value="Delete Row" onclick="SomeDeleteRowFunction()"></td>
   </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

javascript jquery row html-table

21
推荐指数
4
解决办法
9万
查看次数

使用css打印之前缩放html表

我有一个表作为HTML文档的整个内容(为了合法的表目的......它是表数据,而不是布局).某些单元格指定了宽度和高度(不是通过css,而是在表结构中使用旧的大小调整内联),但整个表格没有指定宽度或高度.这是一个相当大的桌子,但如果有适当的缩放比例(约70%),它可以打印出来,以便很好地贴合在一张纸上.这可以通过使用IE,Firefox和Chrome的打印机设置中的"缩放页面"功能来完成.有没有办法扩展整个页面(在我的情况下只是这个表)作为打印样式表的一部分(我知道@media print {}但是那里的语句被忽略了......问题在于正确的命令用于缩放,而不是设置print css)?我可以用这个缩放屏幕视图:

body {
   transform: scale(.7);
}
Run Code Online (Sandbox Code Playgroud)

但是在打印时,Chrome(和其他人)会忽略我的比例并自动缩放表格以适应纸张的宽度,这会导致我的表格被分割到第二页.我也试过应用这个但没有成功:

table {page-break-inside: avoid;}
Run Code Online (Sandbox Code Playgroud)

css html-table printing-web-page

21
推荐指数
4
解决办法
5万
查看次数

在HTML中组合表和分层列表

我正在努力重新设计一个遗留工具集,我正在研究如何在表现和语义上更好地显示一些信息.

数据本质上是分层的,但具有需要用户容易看到的属性.所需的布局类似于下面.

Seq     Item Name         Min  Max  - Anything under here isn't shown
 1      Identifier         1    1     (Required)
 2      Name               1    1
  2.1    First Name        1    1
  2.2    Middle Name       -    -     (Optional but unlimted)
  2.3    Last Name         1    1
 3      Age                -    1     (Optional)
Run Code Online (Sandbox Code Playgroud)

目前,这是一个完整的表,并且Seq通过插入额外的表格单元来实现对顺序()数字的交叉处理.

我面临的挑战是如何有效地显示这些信息.

首先是这个表格数据?我会说不,因为层次结构很重要,而'列'只是每个'行'中项目的属性.

如果它不是表格,它是什么以及如何做?我个人认为这是一组嵌套UL列表 - 序列号是可选的,并不总是一个数字.如果它是一组列表,那将正确缩进子列表,但是呈现短属性的最佳方式是什么?

如果它是一个表,那么在表中呈现层次结构的语义存在的最佳方法是什么?

html css html-table wcag wcag2.0

20
推荐指数
3
解决办法
2万
查看次数

如何设置<tbody>元素的边框?

为什么边界不显示tbody在下面?我尝试rules="groups"了边框,但只是在两个tbody部分之间,它已折叠.

table.sectioned tbody {
  border: 2px solid black;
  border-collapse: separate;
  border-spacing: 4px;
}
Run Code Online (Sandbox Code Playgroud)
<table class="sectioned">
  <tbody>
    <tr><td colspan="2"><b>General Data</b></td></tr>
    <tr><td>Tail Number</td><td>N0809021</td></tr>
    <tr><td>Type of Ownership</td><td>personal</td></tr>
    <tr><td>Type of Aircraft</td><td>aircraft under 13,000 pounds</td></tr>
    <tr><td>Year of Manufacture</td><td>1999</td></tr>
    <tr><td>Use of Aircraft</td><td>private</td></tr>
    <tr><td>Start Date</td><td></td></tr>
    <tr><td>Policy Length</td><td>6 months</td></tr>
  </tbody>
  <tbody>
    <tr><td colspan="2"><b>Additional Aircraft Information</b></td></tr>
    <tr><td>Manufacturer</td><td></td></tr>
    <tr><td>Model</td><td></td></tr>
    <tr><td>Engine Make</td><td></td></tr>
    <tr><td>Number of Seats</td><td></td></tr>
  </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

html css html-table

20
推荐指数
3
解决办法
3万
查看次数