[英]jQuery: How can I dynamically add a table attribute to a specific cell in a row?
我有一个通过JavaScript和jQuery生成的表。 在某些单元格中,有一个目录字符串catalogIndex
,可通过CSS截断。 我希望能够为这些特定的单元格添加一个title属性,以便用户可以看到整个字符串。
我试过像这样在jQuery中使用.attr
方法:
$(queueRow[5]).attr('title', catalogIndex);
queueRow
是一个变量,用于保存HTML表的实际行。 在代码的前面,我使用以下代码创建了它:
var queueRow = document.getElementById("copyQueue").insertRow();
我可以这样插入单个单元格:
//variable that uses queueRow and creates a new cell.
var catCell = queueRow.insertCell();
//add text to the cell using the content of catalogIndex
catCell.innerHTML = catalogIndex;
我试图定位适当的单元格(在我的情况下,为queueRow
的第6个位置)并添加title属性。 我没有收到任何错误,但似乎未向该单元中添加任何内容。 获取我想要的单元格位置的正确语法是什么?
您可以使用cells
属性:
var queueRow = document.getElementById("copyQueue").insertRow();
// ...
var catCell = queueRow.insertCell();
catCell.textContent = catalogIndex; // don't use innerHTML for pure text.
// ...
$(queueRow.cells[5]).attr('title', catalogIndex);
但是您应该尝试使用更多的jQuery。 例如:
var $queueRow = $("<tr>").appendTo("#copyQueue");
// ...
var $catCell = $("<td>").appendTo($queueRow).text(catalogIndex);
// ...
$("td", $queueRow).eq(5).attr('title', catalogIndex);
但是,如果您已经有了$catCell
,则可能无需再次查找该单元格,并且可以一次完成最后两个操作:
$("<td>").appendTo($queueRow).text(catalogIndex).attr("title", catalogIndex);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.