2011-12-18 11 views
0

の色を変更する私は、このテーブルを持っている:私は、次のjQueryコードを使用してみてください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> 

た場合:

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

$("#Table").find("td")[4].innerHTMLは私にStuff2を与えます。しかし、私はjQueryを使ってもCSSを変更することはできませんし、html()を使用することもできません。

答えて

1

この:

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

はあなたのインデックス4でDOM要素を与えるので、それが唯一のネイティブDOMメソッドを持っています。あなたはその後、その上に()jqueryのメソッドをの.css使用することはできませんので[]抽出DOM要素を使用して

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

私のCS教師が3時間以内に答えることができないものは5分以内に返答いただきありがとうございます。 – Sefam

+0

@ user1040736:ようこそ。 – RightSaidFred

0

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

またはこの:jQueryのメソッドを呼び出すために、これに

変更に。

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

注:慣例により、jqueryの変数が付いべき$$cellのような)のでのような簡単である

は、セレクタを使用します。

0

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

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

関連する問題