0

JSON から生成されたコンテンツのブロック内にクラスを追加する必要があります。HTMLは実際にはまだ生成されていないため、toggleClassで吠えていると思います。おそらく何らかの方法で .on() または .live() を使用する必要があると思います。

エラーは表示されません。クラスが追加されていないだけです。繰り返しますが、テーブルのコンテンツが動的に構築されているためだと思います。

関連するコードは次のとおりです。

// The data variable is a block of JSON
for(i=1; i < data.length; i++){
 foo += '<tr id="'+data[i][2]+'">test</tr>';

 // Here's where I am trying to add the class, but it is not working. We check to see if a value in our JSON is true, if so - we change the class.
if(data[i][1]){
 $("#"+data[i][2]).toggleClass("newClass"); // finds the ID by unique name
}

}
4

1 に答える 1

0

toggleClass は DOM オブジェクトでのみ機能します。呼び出している時点では、要素は DOM オブジェクトとして存在せず、文字列の一部としてのみ存在します。

要素を DOM に追加するまでトグル クラスで待機するか、クラスを文字列に追加するか、または (私の好みで) それらを要素に変換してから DOM に挿入することができます。何かのようなもの:

$(foo).toggleClass("newClass").appendTo("#whatever")'
于 2012-07-17T16:37:42.630 に答える