jQuery fadeOut / animate不适用于儿童李

时间:2017-09-15 14:46:12

标签: jquery jquery-animate fadeout

我有一个最奇怪的问题,我在页面上淡出内容,但由于某些原因,某些<li>元素没有玩球。这些元素是我淡出的元素的子元素,因此它应该像其他元素内容一样淡出。我在同一个父母身上添加了一个<img>,它很好地消失了。如果我通过浏览器的控制台直接调用li元素,如$(".pageDiv li").fadeOut(1000),它可以正常工作。我非常惊讶。

function emptyPage(el,exArr)
{
    if ($(el).children().length > 1)
    {
        var chld = $(el).children();
        $(chld).each(function (i)
        {
            if ($.inArray($(chld[i]).attr("class"), exArr) == -1)
            {
                $(chld[i]).fadeOut(500, function () { $(chld[i]).remove(); });
            }
        });
    }
}

这是一个HTML示例:

<div class="pageDiv" style="display: block; top: calc(10% - 40px);">
    <div class="tab">Videos</div>
    <p>Page Title</p>
    <span>
        Text that Fades
        <br>
        <br><lu><li>Does not fade</li></lu>
        <br>
        <br><img src="https://sd.keepcalm-o-matic.co.uk/i-w600/its-all-going-tits-up.jpg">
        <br>
        <br>Image above fades, as does this text
        <br>
        <br><li>Does not fade</li>
    </span>
</div>

在其上调用以下函数:emptyPage($(".pageDiv"), ["tab"])否则可以正常工作。

我可能犯了一个非常基本的错误,而我却不知所措。非常感谢!

0 个答案:

没有答案