我最近将一个应用程序从 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)
我显然可以解决这个问题,但它确实让我有点紧张,也许现在我们已经升级了影响应用程序的其他类似回归,只有在某些情况下,当我们有多个要匹配的元素时才会出现。
我还看到了另一个问题,我怀疑这可能是同一个问题?