我有asp.net mvc4项目,我使用ajax查询从我的服务器端获取数据
$.getJSON('/Administrator/GetStudentAppNumbers/', function(data) {
//alert(data[0]);
$.each(data, function (i, appNumber) {
var program = $('"#' + appNumber + '"').html();
var newProgram = $.trim(program).replace(/\s/g, " ");
var shortText = $.trim(newProgram).substr(0, 40) + "...";
$('"#' + appNumber + '"').html(shortText);
$('"#' + appNumber + '"').click(function () {
alert(newProgram);
});
});
});
但是当我尝试在控制台中调用它时,它们会给我一个错误:
未捕获错误:语法错误,无法识别的表达式:“#UZ43”
当我尝试从alert(appNumber);
调用它时,他们会返回UZ43
。
有什么想法我错了吗?
答案 0 :(得分:2)
双引号不应该是选择器值的一部分:
$('"#' + appNumber + '"')
应该是:
$('#' + appNumber)
使用$("#UZ43")
,选择器的值为#UZ43
。
使用$('"#' + appNumber + '"')
时,值为"#UZ43"
。
答案 1 :(得分:0)
您的选择器不正确,因此您尝试在字符串上调用html()
;因此错误。试试这个:
var program = $('#' + appNumber).html(); // note the removed double quotes (")
答案 2 :(得分:0)
尝试替换
$('"#' + appNumber + '"').html(shortText);
带
$('#' + appNumber).html(shortText);