私はこのHTMLテーブルを持っています:
<table id="languages" border="0" cellspacing="1">
<thead>
<tr>
<th>Language</th>
<th>Type</th>
<th>Invented</th>
</tr>
</thead>
<tbody>
<tr>
<td>Java</td>
<td>Static</td>
<td>1995</td>
</tr>
<tr>
<td>Ruby</td>
<td>Dynamic</td>
<td>1993</td>
</tr>
<tr>
<td>Smalltalk</td>
<td>Dynamic</td>
<td>1972</td>
</tr>
<tr>
<td>C++</td>
<td>Static</td>
<td>1983</td>
</tr>
</tbody>
</table>
この JavaScript を実行すると:
alert($('td').index($('td:contains(C++)')))
というポップアップが表示されますが9
、これは私が期待するものです。
そして、これを実行すると: alert($('td:eq(9)').text())
、ポップアップには と表示されますが、これC++
も期待どおりです。9
しかし、このように、2番目のセレクターにハードコーディングする代わりに、最初の関数/選択を入れようとすると...
alert($('td:eq($('td').index($('td:contains(C++)')))').text())
// just replacing the hard coded 9 with the first selector, as it gives a value of 9
...何も起こりません。というポップアップは表示されC++
ません。誰が私が間違っているのか教えてもらえますか?