1

htmlにテーブルがあります。一部のセルは太字で、一部は正常です。一部のセルが太字であるかどうかを確認し(たとえば、i、j)、タグなしでそのセルのテキストを取得するにはどうすればよいですか。

セルにはテキストのみを含めることができます。太字の場合-タグが含まれている必要があります<b>。例えば:

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

PSクラスまたはIDプロパティを使用できません。
PSS jQueryコードがない方が良いでしょう、今は使用していません

4

3 に答える 3

2

セルへの参照を取得する方法については、次の回答を参照してください: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';
}
于 2012-06-04T12:40:24.903 に答える
1

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
}
于 2012-06-04T07:55:30.247 に答える
0

それは完全にあなたのHTMLに依存します。<b>またはタグを使用する<strong>と、これらのセルからテキストを簡単に取得できます。$('TD strong').text();

CSSクラスを使用してテキストを太字にする場合は、cssクラスが必要になります。$('TD.classForBoldText').text();

ただし、などの一般化されたcssを使用してテキストを太字にしたTD { font-weight: bold; }場合、特定のセルのテキストを取得することはできません。

于 2012-06-04T07:55:18.680 に答える