Jquery 非常奇怪的寻址元素

Jquery 非常奇怪的寻址元素,jquery,function,Jquery,Function,我有一个疯狂的问题,我无法解释: function removeEntry(what) { var what1 = '#ID'+what; //var what1 = '#ID33'; $(what1).slideToggle(); alert('..'+what1+'..'); } 奇怪的是,它不是那样工作的。问题不在于我的目标元素,因为如果我激活第三行并注释掉第二行,它就会工作。 我已经用alert查看了“what”和“what1”一千次,在控制台中

我有一个疯狂的问题,我无法解释:

function removeEntry(what) {    
    var what1 = '#ID'+what;
    //var what1 = '#ID33';
    $(what1).slideToggle();
    alert('..'+what1+'..');
}
奇怪的是,它不是那样工作的。问题不在于我的目标元素,因为如果我激活第三行并注释掉第二行,它就会工作。 我已经用alert查看了“what”和“what1”一千次,在控制台中,它被正确地移交给函数,总是可用的,没有空格或任何东西

我无法解释这一点,我在这里为这样一件简单的事情发疯


感谢您对这种奇怪行为的了解或体验。

您是否尝试过直接从您输入的数字将其构建为jQuery对象

比如:

function removeEntry(what) {
    var what1 = $('[id="ID'+what+'"]');
    what1.slideToggle();
    console.log(what1[0]); //this returns the element
}

请发布一个完整的代码示例。另外,再现该问题的jsFiddle.net示例通常也很有用。请使用“#ID”+what.toString()指定在“what”变量中填充的值,该值通常是一系列数字,如33或100056。我也尝试了toString方法。它正在工作,肯定还有其他问题。这是你的代码,我明天会尝试。非常感谢。我希望,这能解决问题。我在缓存中仍然保留着我以前的评论(我无法发布),所以这里说:“我也希望它能工作。毕竟很简单。我没有得到的是:在这两种情况下,what1是相同的:”#ID33"... 或者不管我通过什么。。。我想它不可能是附近的任何东西,因为一个有效,另一个无效。单击其他一些元素调用函数并传递值…”“为什么
$('[id=“id'+what+'“])
的工作方式与
$('#id'+what)不同?”
?问得好@Oriol。我的直觉告诉我,jQuery处理字符串的方式可能不同于直接从选择器生成的对象。不过,环顾四周后,我似乎找不到任何可以证实这一点的东西。OP似乎需要共享更多的代码,才能找到实际的工作解决方案。