有一些我没有看到这里..我有一个字符串变量与元素id:
var sf_new_id = "#sf_widget_choice-32:14.86:1:1"
我从另一个元素得到这个字符串(‘sf_selectedmethod’是另一个元素):
var anotherid = sf_selectedmethod.attr('id');
然后我删除最后一个字符,并添加一些信息到该id,即最后一个号码和’#’:
var sf_new_id = anotherid.substr(0,anotherid.length-1); // Now without the last char. sf_new_id = '#'+sf_new_id+'1';
它变成上面描述的字符串.
而我正在尝试使用jQuery访问元素:
$(sf_new_id).addClass("...");
具有该id的元素存在,但没有任何反应.我试图隐藏元素:
$(sf_new_id).hide();
但是什么都没有发生.
我把整个元素放到console.debug中,它显示一个空的对象:
console.debug($(sf_new_id));
输出:控制台中的Object []
我在这里缺少什么?
编辑:
我尝试了逃生的东西,它似乎工作,但现在的问题是,当信息在变量中时,我如何逃避冒号?
解决方法
您必须转义字符串中的特殊字符,以形成有效的选择器.
var sf_new_id = "#sf_widget_choice-32:14.86:1:1"; sf_new_id = sf_new_id.replace(/:/g,"\\:") .replace(/\./g,"\\.") $(sf_new_id).hide();
原文地址:https://www.jb51.cc/jquery/153195.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。