0

Javascriptからアドレス指定するHTML要素に名前を付けるために使用するHTML属性。たとえば、私が使用できる場合name

<table id="some_table">
  <tr>
    <th name="date">Date</td>
    <th name="time">Time</td>
    <th name="name">Name</td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td></td>
  </tr>
</table>

私は次のようにjQueryでそれらを選択することができます:

$('#some_table th[name=time]')

ただし、はname許可されていないため、これは無効ですtdidユニークでなければならないので、私もそれを使うことができません。classCSSクラスがある場合、スタイルに影響を与える可能性があり.timeます。多分何かのようなdata-name?推奨される方法は何ですか?

4

2 に答える 2

2

私のコメントを拡張するために、「tdに列名の属性を付ける必要はありません」。標準的な方法は、列名から列インデックスを取得してから、このインデックスを持つすべてのtdsを取得することです。

たとえば、時間が2番目の列(インデックス1)の場合、すべての時間tdsは次のようになります。

getElementById("some_table").rows[i].cells[1]

(JavaScriptには、テーブルをトラバースするためのネイティブメソッドがあります)

于 2012-11-18T06:33:11.087 に答える
0

要素は、id値、名前、tagName、他の要素への近さ、任意の値、またはセレクター文字列を介して選択できます。単一の好ましい方法はありません。それはすべてあなたがやろうとしていることに依存します。

あなたの場合、必要に応じて、インデックスを介してテーブルの行とセルを選択できます。ご指摘のとおり、データ属性を使用することもできます。どちらの方法でも、必要な結果が得られ、要素にアクセスできます。

于 2012-11-18T06:13:11.080 に答える