如何获得一个以$作为第一个字符的div

时间:2017-03-07 05:44:04

标签: jquery html

假设我有一个ID为'$ abc'的div。我如何使用jQuery选择它? 以下是示例代码段。

function abc(){
	$('#$abc').text('abc')
}
abc();
<script
  src="https://code.jquery.com/jquery-3.1.1.slim.min.js"
  integrity="sha256-/SIrNqv8h6QGKDuNoLGA4iret+kyesCkHGzVUUV0shc="
  crossorigin="anonymous"></script>
  
  <div id="$abc"></div>

当我尝试运行时,我在控制台中收到错误 -

Uncaught Error: Syntax error, unrecognized expression: #$abc
at Function.ga.error (jquery-3.1.1.slim.min.js:2)
at ga.tokenize (jquery-3.1.1.slim.min.js:2)
at ga.select (jquery-3.1.1.slim.min.js:2)
at Function.ga [as find] (jquery-3.1.1.slim.min.js:2)
at r.fn.init.find (jquery-3.1.1.slim.min.js:2)
at r.fn.init (jquery-3.1.1.slim.min.js:2)
at r (jquery-3.1.1.slim.min.js:2)
at abc (fiddle.jshell.net/:46)
at window.onload (fiddle.jshell.net/:48)

3 个答案:

答案 0 :(得分:1)

你可以这样做: -

function abc(){
 $('div[id="$abc"]').text('abc');
}
abc();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha256-/SIrNqv8h6QGKDuNoLGA4iret+kyesCkHGzVUUV0shc=" crossorigin="anonymous"></script>
  
<div id="$abc"></div>

注意: - 这称为[attribute|=value]选择器

参考: - All possible seletors

答案 1 :(得分:1)

你可以用这个:

$('[id="$abc"]').text('abc');

答案 2 :(得分:0)

您需要通过在其前面放置两个反斜杠来转义$,请尝试以下代码:

function abc(){
    $('#\\$abc').text('abc')
}
abc();

有关详细信息,请参阅this doc