2017-10-10 79 views
0

我有一个关于jQuery的问题。我有一个元素的ID为CLASS_SRCH_WRK2_SUBJECT $ 108 $。所以,我在Chrome开发者工具测试的jQuery如下

$('#CLASS_SRCH_WRK2_SUBJECT$108$') 

但是,该工具说

Uncaught DOMException: Failed to execute '$' on 'CommandLineAPI': '#CLASS_SRCH_WRK2_SUBJECT$108$' is not a valid selector. 
at <anonymous>:1:1 

反正是有选择与ID的元素?

+0

顺便说一句,这是不实际的jQuery;控制台有自己的'$'。 – SLaks

回答

3

您必须使用\\转义$

$(function() { 
 
    console.log($('#CLASS_SRCH_WRK2_SUBJECT\\$108\\$').text()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="CLASS_SRCH_WRK2_SUBJECT$108$">Hello</div>

另外,非推荐的方法是使用[id="TheID"]使用属性选择:

$(function() { 
 
    console.log($('[id="CLASS_SRCH_WRK2_SUBJECT$108$"]').text()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="CLASS_SRCH_WRK2_SUBJECT$108$">Hello</div>

注意:准确地说,错误表明您正在使用Command Line API而不是jQuery。你可以检查jQuery是否真的被加载?

1

您可以使用标准的DOM方法,然后将其转换为一个jQuery对象,如下图所示:

var el =document.getElementById("CLASS_SRCH_WRK2_SUBJECT$108$"); 
 
var $el = $(el); 
 

 
console.log($el);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<span id="CLASS_SRCH_WRK2_SUBJECT$108$"><span>