2017-10-10 88 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>