我最近升级从jQuery 1.2版本的应用程序1.3.2 - 我们已经找到了一个相当奇怪的回归

有关一些HTML大约这样的(简化的一个位)

<div id="steps">
  <div class="step">
    <span>step #1</span>
    <div class="removeStep"> X </div>
  </div>
  <div class="step">
    <span>step #2</span>
    <div class="removeStep"> X </div>
  </div>
</div>

我们先前连接,像这样的情况下,对于所有的步骤:

$("#steps").find(".removeStep").click(removeStepFunc)

在1.2这会发现所有的步骤,甚至是那些我们动态地添加。下1.3本永远只找到的第一个步骤。

这也不起作用:

#("#steps .removeStep").click(removeStepFunc)

然而,这确实:

#("#steps).children().find(".removeStep").click(removeStepFunc)

我可以明显地解决这个问题,但它确实让我有点紧张,也许还有我们现在已经升级影响应用程序其他类似的回归,只会展示自己在某些情况下,当我们有一个以上的元素匹配。

我也看到这个问题,其他的,我怀疑可能是同样的问题?

jQuery选择错误?由选择器相对于简单选择&找到()

有帮助吗?

解决方案 2

现在已经解决了这个问题,跨越这个帖子后绊脚石:

http://groups.google.com/group/jquery烯/ browse_thread /线程/ ae61896a809f6cf0

的问题进行了正在经历由我们的使用旧版本的jQuery的验证插件(V1.3),这是不符合的jQuery 1.3.2所引起的。此问题已得到现在我们已经将其更新到V1.6解决。

其他提示

尝试以下方法:

jQuery('#steps > .removeStep').click(removeStepFunc)

jQuery('#steps .step .removeStep').click(removeStepFunc)
       第1步      X           第2步      X   

<强>更新

关于这样的事情是什么? (另):

jQuery('#steps .removeStep').click( function() {
  jQuery(this).remove(jQuery(this).parent());
});
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top