我有一个 html 表格。有些单元格是粗体,有些是正常的。我如何检查某个单元格是否为粗体(例如 i,j)并获取该单元格的文本而没有 tag 。
单元格只能有文本。如果它是粗体 - 它应该包含 tag <b>
。例如:
<tr>
<td>
Not bold text
</td>
<td>
<b> Bold text </b>
</td>
</tr>
PS 我不能使用 class 或 id 属性。
PSS 如果没有 jQuery 代码会更好,我们暂时不用
我有一个 html 表格。有些单元格是粗体,有些是正常的。我如何检查某个单元格是否为粗体(例如 i,j)并获取该单元格的文本而没有 tag 。
单元格只能有文本。如果它是粗体 - 它应该包含 tag <b>
。例如:
<tr>
<td>
Not bold text
</td>
<td>
<b> Bold text </b>
</td>
</tr>
PS 我不能使用 class 或 id 属性。
PSS 如果没有 jQuery 代码会更好,我们暂时不用
请参阅此答案如何获取对单元格的引用:https ://stackoverflow.com/a/3052862/34088
你可以得到第一个孩子cell.firstChild
。这为您提供了一个文本节点或一个<B>
节点。您可以使用node.nodeType
DOM 节点的 1 或文本节点的 3 来检查这一点。这使:
function isBold(table, rowIdx, columnIdx) {
var row = table.rows[rowIdx];
var cell = row.cells[columnIdx];
var node = cell.firstChild;
if( node.nodeType === 3 ) {
return false;
}
return node.nodeName === 'b' || node.nodeName === 'B';
}
使用 css font-weight 属性来检测文本是否为粗体:
if ($("#td-id").css("font-weight") == "bold") {
var boldText = $("#td-id").html();
// Text is bold
}
如果不使用 css,表格单元格内容内必须有<strong>
-tag(或-tag)。<b>
您可以使用以下代码提取粗体文本:
var boldText = $("#td-id strong").html();
if (boldText != NULL) {
// Text is bold
}
这完全取决于您的 HTML。如果您使用<b>
or<strong>
标记,那么您可以轻松地从这些单元格中获取文本:$('TD strong').text();
如果您通过 CSS 类使文本变为粗体,那么您需要 css 类:$('TD.classForBoldText').text();
但是,如果您刚刚通过通用 css 将文本设置为粗体,TD { font-weight: bold; }
那么您将无法获取特定单元格的文本。