Jquery nextAll()、prevAll()、next()和prev()不';t返回结果

Jquery nextAll()、prevAll()、next()和prev()不';t返回结果,jquery,Jquery,这是我的js模块: let rating = (() => { let rate = (elem) => { if($(elem).hasClass('checked')) unmarkStars($(elem)) else markStars($(elem)) } let unmarkStars = (elem) => { console.log(ele

这是我的js模块:

let rating = (() => {

    let rate = (elem) => {
        if($(elem).hasClass('checked'))
            unmarkStars($(elem))
        else
            markStars($(elem))
    }

    let unmarkStars = (elem) => {
        console.log(elem.nextAll('.fa-star'))
        elem.nextAll('.fa-star').removeClass('checked')
    }

    let markStars = (elem) => {
        console.log(elem.prevAll('.fa-star'))
        elem.prevAll('.fa-star').addClass('checked')
    }

    return {
        rate: rate
    }

})()
当我单击此
ul
中的元素时:

<ul id="rating-select">
    <li><span onclick="rating.rate(this)" class="fa fa-star checked"></span></li>
    <li><span onclick="rating.rate(this)" class="fa fa-star checked"></span></li>
    <li><span onclick="rating.rate(this)" class="fa fa-star checked"></span></li>
    <li><span onclick="rating.rate(this)" class="fa fa-star checked"></span></li>
    <li><span onclick="rating.rate(this)" class="fa fa-star "></span>
    </li>
</ul>

控制台中有空结果。似乎
nexthall
都不
nextPrev
返回任何结果。我查看了
jQuery
文档,四处搜索问题所在,但仍然找不到。对我来说似乎没问题。这里我做错了什么?

nextAll
prevAll
方法分别将兄弟姐妹next和prev返回给它。您应该使用
parent
方法选择父
li
,然后选择next/prev
li
,最后找到
.fa-star

elem.parent().nextAll('li').find('.fa-star')

elem.parent().prevAll('li').find('.fa-star')