0
我遇到jquery問題,當查詢字符串中有'$'字符時找不到元素 - 是否存在已知問題?不幸的是搜索引擎很難搜索線程中的符號。
我有一個HTML像這樣:
<TD id="ctl00$m$g_cd3cd7fd_df51_4f95_9057_d98f0c1e1d60$ctl00$ctl00_5"
class="MenuItem"
onclick="setSelectedTab('ctl00$m$g_cd3cd7fd_df51_4f95_9057_d98f0c1e1d60$ctl00$ctl00_5');"
tabsrowid="ctl00$m$g_cd3cd7fd_df51_4f95_9057_d98f0c1e1d60$ctl00$ctl00_"
nohide="false">...
和我的JScript的雲一樣的東西:
function setSelectedTab(selection) {
var ids = selection.split('/');
for (var i = 0; i<ids.length; i++) {
var item = $("#" + ids[i]);
item.addClass("selected");
$("#" + item.attr("tabsrowid")).show();
}
}
雖然在Firebug分析,我看到了 '項目' 是空集。例如,如果我查詢$('。MenuItem'),它會正確返回一個結果集,其中包含25個匹配的項目;看起來像$(s)在s中包含$ chars時不起作用?
它的解決方案是什麼?對不起,如果它是一個愚蠢的問題或衆所周知的問題 - 正如我所說我試圖谷歌周圍,但沒有成功。
注意:這不是一個問題與JavaScript本身,或重複的id,或jquery未加載,或類似的東西。函數確實被調用onclick,如果我用document.getElementById(ids [i])替換$('#'+ ids [i]),它確實返回了正確的元素。 fyi,傳遞給函數setSelectedTab的字符串通常包含TD元素的層次結構路徑;儘管在上面的示例TD中,ids.length是1.
謝謝, Raja。
這工作逃脫他們 - 謝謝。 – user392005 2010-08-22 23:01:43
那麼,也只是想提一下它的工作原理。我必須在onclick和tabsrowid屬性值中雙重轉義(\\\)$,但不得不按原樣保留id屬性(未轉義)。 – user392005 2010-08-23 18:32:03