当标签id包含`$`符号时,jQuery语法错误,无法识别的表达式错误

时间:2012-03-06 05:58:23

标签: jquery asp.net

我想隐藏一个特定的div元素,其名称包含$符号,但我在firebug中收到以下错误:

Syntax error, unrecognized expression: $Frame

jQuery代码:

$(document).ready(function() {
  $("#Button1").click(function() {
    $("#ctl00_content_TabContainer1_TabPanel1_PdEnd$Frame").hide();
})

怎么了?

3 个答案:

答案 0 :(得分:5)

如果" $"在您的选择器字符串中是合法的,您需要使用选择器特殊字符转义规则

http://api.jquery.com/category/selectors/

尝试:

 $("#ctl00_content_TabContainer1_TabPanel1_PdEnd\\$Frame").hide();

我不会在asp中做很多事情,但那" $"肯定看起来很可疑

答案 1 :(得分:2)

我检查过并且jquery无法正常工作,可能会使用原生javascript作为解决方法。

document.getElementById('h$ello');

答案 2 :(得分:0)

使用此:

var j = jQuery.noConflict();
// Do something with 'j'
j(document).ready(function() {
        j("#Button1").click(function() {
           j("#ctl00_content_TabContainer1_TabPanel1_PdEnd$Frame").hide();
        });    
});