backbone.js 当一< a>个对象位于一个< li>

xuo3flqw  于 2022-11-10  发布在  其他
关注(0)|答案(2)|浏览(169)

我有以下html:

<ul id="myList">
    <li>
        <a class="myListItem li-selected">One</a>
    </li>
    <li>
        <a class="myListItem">Two</a>
    </li>
    <li>
        <a class="myListItem li-selected">Three</a>
    </li>
    <li>
        <a class="myListItem">Four</a>
    </li>
    <li>
        <a class="myListItem">Five</a>
    </li>
</ul>

li-selected类是在相应的标签被选中时添加的。我尝试在**$(document).ready()中检查是否有li被选中(有li-selected**类)。因此,我希望每次页面加载时都使用一个布尔值,将其作为参数传递到其他函数中。

我正在尝试类似的操作,但它没有返回true,尽管它应该返回:

$(document).ready(function() {
        .
        .
        .
   var hasSelectedItems = $("#myList li").find("a").hasClass("li-selected");
   console.log(hasSelectedItems);
        .
        .
        .
});

预期结果:

*hasSelectedItems===true则至少选择一个项目。
*hasSelectedItems===false则不选择任何项。
已解决

事实证明,我试图检查li-selected类是否存在的方式没有问题,但在我试图这样做的时候,我把var hasSelectedItems = $("#myList li").find("a").hasClass("li-selected");部分放错了地方,并试图找到一个还没有添加的类。所以我把这部分代码移到了添加li-selected类后元素重新呈现时运行,它工作了。

vsnjm48y

vsnjm48y1#

请使用下面的jquery代码查找a标记:

$(document).ready(function() {
    var lis = $("#myList li a.li-selected").length;
    if(lis > 0)
    {
     //code here
    }
    else
    {
     //empty
    }
});
92dk7w1h

92dk7w1h2#

您可以更好地查找选择了li类的锚元素的长度:

var lis = $("#myList li a.li-selected").length > 0 ;

相关问题