jQuery find - 我可以使用回调吗?

时间:2012-08-15 18:34:09

标签: javascript jquery

所以我想弄清楚我是否可以在find()中调用一个函数,如下所示,但我没有得到任何返回控制台的东西。这是可能的find()或我需要找到替代方案?

$(".tdInner1").find(".block", function () {
    if( $(this).next().hasClass("continuation") ) {
        console.log("yes");
    } else {
        console.log("no");
    }
});

2 个答案:

答案 0 :(得分:12)

听起来像你想要.each()

$(".tdInner1").find(".block").each(function () {
    if( $(this).next().hasClass("continuation") ) {
        console.log("yes");
    } else {
        console.log("no");
    }
});

或者.filter()

$(".tdInner1").find(".block").filter(function () {
    return $(this).next().hasClass("continuation");
});

答案 1 :(得分:3)

您需要jQuery each()

$(".tdInner1").find(".block").each( function () {
    if( $(this).next().hasClass("continuation") ) {
        console.log("yes");
    } else {
        console.log("no");
    }
});

您可以在Official Documentation

中详细了解jQuery each()

或者您可以使用filter()

var block = $(".tdInner1 .block");

var continuation_is_next = block.next().filter(".continuation").prev();

或者像这样

var continuation_is_next=  $(".tdInner1 .block + .continuation").prev();