0

我正在考虑在(qgLLInco = 1)具有完全相同条件的 while 循环中放置一个带有条件的 while 循环。

想法是立即退出循环,而不是附加满足if条件的每个项目,因为会有不止一个。

在下面的示例代码中,这就是我现在所处的位置.each,我相信该方法将导致代码迭代整个数组。有没有我应该使用的不同方法,一旦它从数组中追加一个项目就退出循环?if或者我应该在语句中添加第二个具有相同条件的 while 循环?

while (qgLLInco = 1) {
    $(qgAnsArray[]).find('jOption').each(function() {
        if ($(this).attr('correct') == 'false') {
            $('#qg_options').append('<li><span class="qg_option">' + $(qgAnsArray[t]).text() + '</span></li>');
            qgLLInco = 2;
        }
    });
}
4

1 回答 1

1

你可以return false;在里面$.each()打破循环。

$(qgAnsArray[]).find('jOption').each(function(){
    if($(this).attr('correct') == 'false')
    {
        $('#qg_options').append('<li><span class="qg_option">' + $(this).text() + '</span></li>');
        return false;
    }
});

如果您只想要元素的第一个实例,您可以使用first()

var elem = $(qgAnsArray[]).find('jOption[correct="false"]').first();
于 2013-07-16T15:37:20.573 回答