我收到此错误:
Error: Syntax error, unrecognized expression: #mas137-0-0-0-1|2|7|9|13
在下面的脚本中。我不明白为什么"ID"
不能"137-0-0-0-1|2|7|9|13"
。我使用"|"
分隔符,因为如果我使用","
或":"
,则存在其他冲突。
$(document.body).on('click','.load_more_posts',function() {
var ID = $(this).attr("id");
if(ID) {
$("#mas"+ID).html('<img src="/images/loading.gif" />');
$.ajax({
type: "POST",url: "/show_more.php",data: "vid="+ ID, cache: false,
success: function(html){
$("#mas"+ID).remove();
$("div#posts").append(html);
}});
} else {
$(".masw").html('-');
}
return false;
});
答案 0 :(得分:1)
您必须转义未接受的符号。一种方法是
var ID = $(this).attr("id").replace(/\|/g, '\\|');
我仍然建议您使用ID属性的标准推荐符号。
var i = $('div').attr('id').replace(/\|/g, '\\|');
var t = $('#mask'+i).text();
alert(t);
&#13;
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="137-0-0-0-1|2|7|9|13"></div>
<div id="mask137-0-0-0-1|2|7|9|13">Text</div>
&#13;