<tr> <th> Product </th> <th> Price </th> <th> Shop </th> </tr> <tr> <td> Stuff1 </td> <td> 10$ </td>"> <tr> <th> Product </th> <th> Price </th> <th> Shop </th> </tr> <tr> <td> Stuff1 </td> <td> 10$ </td>"> <tr> <th> Product </th> <th> Price </th> <th> Shop </th> </tr> <tr> <td> Stuff1 </td> <td> 10$ </td>" />

jQuery - 特定の表要素の色を変更する

私はこのテーブルを持っています:

<table border=1 id="Table">
<tr> <th> Product </th> <th> Price </th> <th> Shop </th> </tr>
<tr> <td> Stuff1 </td> <td> 10$ </td> <td> Shop1 </td></tr>
<tr> <td> Stuff2 </td> <td> 0$ </td> <td> Shop2 </td></tr>
</table>

私は次のjQueryコードを試してみます:

var cell = $("#Table").find("td")[4];
cell.css("background-color", "red");

$("#Table").find("td")[4].innerHTML gives me Stuff2. But I can't seem to change the CSS at all with jQuery or even use html().

0

3 答え

この:

var cell = $("#Table").find("td")[4];

4 のインデックスにあるDOM要素を提供するので、ネイティブDOMメソッドしか持たない。

これをjQueryメソッドを呼び出すように変更します。

var cell = $("#Table").find("td").eq(4);

or この:

var cell = $("#Table td").eq(4);
1
追加された
ありがとう、私のCS教師が3時間以内に答えることができないものを5分以内に答えました。
追加された 著者 Sefam,
@ user1040736:ようこそ。
追加された 著者 RightSaidFred,

[] を使ってDOM要素を抽出します。その後、.css()jqueryメソッドを使用することはできません。

セレクタを使用する:

var $cell = $("#Table").find("td:eq(4)");//or $("#Table").find("td").eq(4);
$cell.css("background-color", "red");

注意:慣例により、jquery変数の接頭辞は $ $ cell )のようにする必要があります。

0
追加された

配列表記法を使用するときは、もはやjQueryオブジェクトではなくプレーンなdomノードです。ここで必要なのは:eqセレクターです:

var cell = $("#Table").find("td:eq(4)");
cell.css("background-color", "red");

cf. http://api.jquery.com/eq-selector/

0
追加された