javascript – jQuery字符串变量作为id-selector返回空对象

前端之家收集整理的这篇文章主要介绍了javascript – jQuery字符串变量作为id-selector返回空对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有一些我没有看到这里..我有一个字符串变量与元素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.f2er.com/jquery/153195.html

猜你在找的jQuery相关文章