有人可以解释为什么这个jquery选择器不工作,我已经解决了这个问题,但我的理智是想知道我有什么问题
我有一个包含多个textareas的表单,每个表单都有一个像f_id_DSC000001.JPG的ID,其中最后一部分是照片编号,textarea有一个onblur事件,它使用post发送其内容并更新数据库表,json响应返回.所有这一切都很好,我可以看到使用Firebug的结果,那里没有问题.
id的DSC000001.JPG部分在json响应中作为确认传回,然后我想更改textarea的类以显示更新的状态.
当我这样做
var textarea_selector="#f_id_"+res_data.image_filename; $(textarea_selector).removeClass("kw-class"); $(textarea_selector).addClass("update-failed");
班级不会改变,但如果我这样做
$("textarea[id*='"+res_data.image_filename+"']").removeClass("kw-class"); $("textarea[id*='"+res_data.image_filename+"']").addClass("update-done");
它工作正常.
我不是javascript/jquery专家:-(所以一个基本的解释是我真的很感激.
你的身份证上有一个点.这被解释为类选择器:
#f_id_DSC000001.JPG \_____________/\__/ id class
但这应该工作:
var textarea_element = document.getElementById("f_id_"+res_data.image_filename); $(textarea_element).removeClass("kw-class").addClass("update-failed");
或这个:
var textarea_id = "f_id_"+res_data.image_filename; $("[id="+textarea_id+"]").removeClass("kw-class").addClass("update-failed");