好,所以我在一个完全没有更改的网站上有代码。 两天前,我正在使用此功能,但该功能仍然有效,但是今天,当我进行测试时,它就停止了工作。
出于某种原因,从.children()
选择器更改为.find()
修复了我确实没想到的问题。
代码如下:
var ele = $("div").find("[data-productid='" + response.productId + "']").children(".wishlist-button");
if (response.addedToWishlist) {
$(ele).children(".button-2.active").removeClass("active");
$(ele).children(".remove-from-wishlist-button").addClass("active");
}
我知道.children()
仅选择直属子级,因此这是显示以下内容的html:
<div class="wishlist-button">
<input type="button" value="Remove from wishlist" title="Remove from wishlist" class="button-2 remove-from-wishlist-button remove-from-wishlist-button-6475">
<input type="button" value="Add to wishlist" title="Add to wishlist" class="button-2 add-to-wishlist-button add-to-wishlist-button-6475 active">
</div>
当我使用.find()
将代码更改为此时,它起作用了:
var ele = $("div").find("[data-productid='" + response.productId + "']").find(".wishlist-button");
if (response.addedToWishlist) {
$(ele).find(".button-2.active").removeClass("active");
$(ele).find(".remove-from-wishlist-button").addClass("active");
}
就像我说的那样,所有代码都没有更改,因此停止工作很奇怪。
我正在使用jquery版本1.10.2
我想知道.children()
函数是否已贬值,或者是否还有其他情况发生。
有人知道这是怎么回事吗?我很担心,因为.children()
函数在整个站点中都被使用了数百次。
谢谢