我有"+"
字符串这些类,例如。 crg-th-post-gsm+bb-sub-sub-all-programs
,但是问题是当我尝试$('.crg-th-post-gsm+bb-sub-sub-all-programs')
时,jquery似乎找不到它,因为我尝试在没有"+"
的情况下测试它的'+'效果很好。如何使其与"+"
一起使用?有办法吗?
我还可以想到的另一种解决方法是使用.replace替换字符串“ +”,但是当我使用string.replace(/+/g,'-')
时,它无法识别。
答案 0 :(得分:3)
使用escapeSelector
doc:
console.log($('.' + $.escapeSelector("crg-th-post-gsm+bb-sub-sub-all-programs" )).text());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="crg-th-post-gsm+bb-sub-sub-all-programs">TEXT</div>
答案 1 :(得分:1)
您需要使用+
转义\\
$('.crg-th-post-gsm\\+bb-sub-sub-all-programs').text( 'Hello there' );
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="crg-th-post-gsm+bb-sub-sub-all-programs"></div>