检查<ul>标记</ul>中是否存在图像

时间:2014-12-19 07:19:34

标签: javascript jquery function return-value

我正在检查是否单击了<ul>标记中存在图像的按钮。为此,我正在使用此功能:

function check_image_exists(){

         $('ul#show_uploaded_images').each(function() {
                    if ($(this).find('img').length) {
                        return true;
                    }else{
                        return false;
                    }
            });

    }

现在,如果我把这个东西放在点击功能中,它就可以了......

function insert_product(){

$('ul#show_uploaded_images').each(function() {
                    if ($(this).find('img').length) {
                        alert("Image found");
                    }else{
                        alert("Not found");
                    }
            });



}

但是,如果我将两者分开并尝试仅使用返回值来决定我的条件,那么它就不起作用了。 :

function check_image_exists(){

         $('ul#show_uploaded_images').each(function() {
                    if ($(this).find('img').length) {
                        return true;
                    }else{
                        return false;
                    }
            });

    }

function insert_product(){

 var image_exist = check_image_exists();

        if(image_exist == false){


           alert("not found")


        }else{

         do the rest.....

}

}

2 个答案:

答案 0 :(得分:1)

问题是你试图在each回调中返回一个值,但这没有任何意义,所以返回值只是被吞下。

有一种更简单的方法可以做到这一点。只需检查.find()是否返回任何元素:

var thereAreImages = $('ul#show_uploaded_images').find('img').length !== 0;

或者将其打包在函数中:

function check_image_exists() {
    return $('ul#show_uploaded_images').find('img').length !== 0;
}

function insert_product() {
    if (check_image_exists()) {
        // do the rest...
    } else {
        console.log('not found');
    }
}

答案 1 :(得分:0)

注意:基于您询问2个功能,

function insert_product() {
    var image_exist = check_image_exists();
    if (image_exist) {
        alert("here")
    } else {

        alert("not found")
    }

}

function check_image_exists() {
    return $('ul#show_uploaded_images').has("img").length;
}
insert_product();

注意:您可以直接检查$('ul#show_uploaded_images').has("img").length