jQuery子级函数突然停止工作-可能会贬值

时间:2019-01-11 03:29:01

标签: javascript jquery jquery-1.10

好,所以我在一个完全没有更改的网站上有代码。 两天前,我正在使用此功能,但该功能仍然有效,但是今天,当我进行测试时,它就停止了工作。

出于某种原因,从.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()函数在整个站点中都被使用了数百次。 谢谢

0 个答案:

没有答案