Javascript 检查单元格中的文本是否为粗体

Javascript 检查单元格中的文本是否为粗体,javascript,html-table,Javascript,Html Table,我有一个html表格。有些单元格是粗体的,有些是正常的。如何检查某个单元格是否为粗体(例如I,j)并获取该单元格的文本而不带标记 单元格只能有文本。如果为粗体,则应包含标记。例如: <tr> <td> Not bold text </td> <td> <b> Bold text </b> </td> </tr> 非粗体文本 粗体文本 PS我不能使用类或id属性。 PSS如果没有jQuery代码会

我有一个html表格。有些单元格是粗体的,有些是正常的。如何检查某个单元格是否为粗体(例如I,j)并获取该单元格的文本而不带标记

单元格只能有文本。如果为粗体,则应包含标记
。例如:

<tr>
<td>
Not bold text
</td>
<td>
<b> Bold text </b>
</td>
</tr>

非粗体文本
粗体文本
PS我不能使用类或id属性。

PSS如果没有jQuery代码会更好,我们现在不使用它,它完全取决于您的HTML。如果使用
标记,则可以轻松地从这些单元格中获取文本:
$('TD-strong').text()

如果通过CSS类将文本设置为粗体,则需要CSS类:
$('TD.classForBoldText').text()


但是,如果您刚刚通过泛化css(如
TD{font-weight:bold;}
)将文本加粗,则无法获取特定单元格的文本。

使用css font-weight属性检测文本是否加粗:

if ($("#td-id").css("font-weight") == "bold") {
  var boldText = $("#td-id").html();
  // Text is bold
}
如果不使用css,则表单元格内容中必须有
-tag(或
-tag)。您可以使用以下代码提取粗体文本:

var boldText = $("#td-id strong").html();
if (boldText != NULL) {
   // Text is bold
}

请参见以下答案,了解如何获取对单元格的引用:

您可以使用
cell.firstChild
获取第一个子项。这将为您提供一个文本节点或
节点。您可以使用
节点.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';
}

请发布一些相关代码(您的html表):)我们不知道这些单元格是如何构造的:您能给我们提供一些示例吗?。粗体文本可以使用标准HTML标记(如
)或通过样式表呈现。在表格单元格中有多个标记如何?我想你只能检测到第一个标签。类似于
……
的内容将返回
false
。OP只需要第一个标记。