我对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 :(得分:2)
您必须使用$
转义\\
。
$(function () {
console.log($('#CLASS_SRCH_WRK2_SUBJECT\\$108\\$').text());
});
&#13;
<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>
&#13;
另一种非推荐方式是使用[id="TheID"]
使用属性选择器:
$(function () {
console.log($('[id="CLASS_SRCH_WRK2_SUBJECT$108$"]').text());
});
&#13;
<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>
&#13;
注意:确切地说,错误表明您使用的是Command Line API而不是jQuery。你能检查jQuery是否真的被加载了吗?
答案 1 :(得分: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>