2011-08-01 8 views
1

を選択していない。ここjQueryの変数は、ここでのdiv

var t=1; 
var problemId=1234; 
var x="#problemTypeDtl&" +t+"_"+problemId; 
$(x).Text('bites'); 

div要素を選択しなければならない私の関数内の行があるdiv要素です:

<tr> 
    <td colspan="2"> 
     <div class="problemStatusType" id="problemTypeDtl&1_1234"></div> 
    </td> 
</tr> 

セレクタがあるように見えますdivを選択していない...私は間違って何をしていますか?

ありがとうございます。

+0

小文字の「テキスト」を試しますか? – sje397

+5

あなたのdiv IDのアンパサンドが(あなたのdoctypeに依存して)合法ではないことを確かめてください。これは 'getElementById()'の使用を壊します。 http://stackoverflow.com/questions/70579/what-are-valid-values-for-the-att-attribute-in-html/79022#79022 – Phil

+1

間違いがあります:http://www.w3.org/ TR/xml /#NT-AttValue –

答えて

1

あなたがすべて網羅problemStatusTypeとともにproblemTypeDtというクラス(あなたが何か他のもののためにそれを維持する必要がある場合、私は知らないので)と利用しない理由問題IDとID ... ID。コメントで上記のように

スクリプト

var t=1; 
var problemId=1234; 
var x=t+"_"+problemId; 
$("div.problemTypeDt#"+x).Text('bites'); 

マークアップ

<tr> 
    <td colspan="2"> 
     <div class="problemStatusType problemTypeDt" id="problemTypeDtl&1_1234"></div> 
    </td> 
</tr> 

、アンパサンドを使用することは違法です。

2

は、アンパサンドをエスケープしてみてください。

var x="#problemTypeDtl\\&" +t+"_"+problemId;