2015-06-15 40 views
1
$('#bannerAbc tr td .scroller div.checkbox[id="' + $('#hdnfieldstring').val().trim().split(',')[i] + '"]').each(function() { 
    $(this)[0].className = $(this)[0].className + " checked"; 
}) 

hdnfieldstring的值爲'abc \ xyz,edc \ qaz',每個值都是div id。 上面的代碼適用於沒有\在其中的id,但不適用於上面提供的示例數據。 您能否請幫助jquery -div ID匹配由於ID中存在而失敗

+0

ID和名稱標記必須以字母([A-Za-z])開頭,後跟任意數量的字母,數字([0-9]),連字符(「 - 」),下劃線(「_」),冒號(「:」)和句點(「。」)。 – VJS

+0

我同意,這種方式編寫的遺留代碼,試圖不觸及,因爲修改必須在許多地方完成 – KeenUser

回答

1

反斜槓必須轉義,所以請將一個反斜槓改爲兩個反斜槓。

$('#bannerAbc tr td .scroller div.checkbox[id="' + $('#hdnfieldstring').val().trim().split(',')[i].replace('\\', '\\\\') + '"]').each(function() { 
+0

豹 - '\\'這似乎有一個語法錯誤 – KeenUser

+0

@AdarshK:對不起,必須有兩個和四個反斜槓,看到更新的答案。 – panther

+0

感謝噸這個工作,我知道它不是理想的\在ID中。但是現在改變它會產生更大的影響。 – KeenUser