我在FF控制台中收到以下错误消息:
"未捕获的异常:语法错误,无法识别的表达式:""
jQuery.noConflict();
jQuery(function() {
jQuery('#foobar').click(function(){
var id = jQuery(this).parent().parent().attr('id');
var idstr = '"#'+id+'"';
jQuery.post("example.com/callback.php", {id: id },
function(data){
jQuery(idstr).html(data.msg); // <- error occurs here
}, "json");
});
});
Run Code Online (Sandbox Code Playgroud)
可以看出,我想用接收到的数据更新div的内容.
这些是我到目前为止所做的测试:
插入alert()语句以确保
注释掉替换div内容的行,以查看错误消息是否消失(PASS)
我看不出上面的代码有什么问题(但后来我对jQuery相对较新).有人能发现造成错误的原因吗?
此外,我想简要地在视觉上突出显示已更新其内容的div(有点像SO上的内容,当接受答案时) - 我正在考虑更改元素类和设置定时器等,但可能做一个更简单的方法 - 任何人都可以帮助如何做'突出显示部分'吗?
这个:
jQuery(document).function(){
Run Code Online (Sandbox Code Playgroud)
应该:
jQuery(document).ready(function(){
Run Code Online (Sandbox Code Playgroud)
更多信息:
另外为什么不使用:
var idstr = '#'+id;
Run Code Online (Sandbox Code Playgroud)
代替:
var idstr = '"#'+id+'"';
Run Code Online (Sandbox Code Playgroud)
既然idstr是一个变量,你不需要在它周围加上引号,否则它只是字符串,从而给你错误的结果.