Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在HTML元素中循环,不处理返回的prevObject_Javascript_Jquery_Html_Loops - Fatal编程技术网

Javascript 在HTML元素中循环,不处理返回的prevObject

Javascript 在HTML元素中循环,不处理返回的prevObject,javascript,jquery,html,loops,Javascript,Jquery,Html,Loops,我似乎无法理解这一点,这有点尴尬 我试图循环几个元素组,然后在这些元素中,我需要能够检查其中是否有其他元素(ul-li-ul) 我将在其中获得三个控制台日志,如果我要注销$(this).find('ul li ul')-我将获得一个prevObject,其中我不知道循环的第二次迭代是什么 任何帮助都将是惊人的 多谢各位 jQuery的.has()返回一个不是布尔值的元素子集,您只需更改以下内容: if ($(this).has('ul li ul')) 到 工作 大于>0是可选的,但为了可读

我似乎无法理解这一点,这有点尴尬

我试图循环几个元素组,然后在这些元素中,我需要能够检查其中是否有其他元素(ul-li-ul)

我将在其中获得三个控制台日志,如果我要注销$(this).find('ul li ul')-我将获得一个prevObject,其中我不知道循环的第二次迭代是什么

任何帮助都将是惊人的

多谢各位

jQuery的
.has()
返回一个不是布尔值的元素子集,您只需更改以下内容:

if ($(this).has('ul li ul'))

工作

大于>0是可选的,但为了可读性,我把它放在了那里。 为每个列表获取控制台的原因是,无论是否找到某个对象,$(selector).has()方法都会返回一个对象。您正在条件化IF(任何内容),这将被视为有效,因为没有显示结果的对象仍然是一段数据(例如,在您的情况下是prevObject)。添加长度后,如果没有结果,它将返回0,并且在JavaScript中将0视为false

这应该对你有用,希望你也能明白为什么会这样:)

是一个jQuery对象,所以您在浏览器控制台中看到的输出似乎就是该对象

如果需要实际DOM元素的数组,而不是包含它们的jQuery对象,可以使用.get()函数


@斯科特康奈尔很乐意帮忙!我已经更新了我的答案,以便您理解为什么会发生这种情况:)
$('#hamburger-nav ul div.cell_3').each(function(index) {
        if ($(this).has('ul li ul')) {
            console.log('found one');
        }
    });
if ($(this).has('ul li ul'))
if ($(this).has('ul li ul').length)
$('#hamburger-nav ul div.cell_3').each(function(index) {
        if ($(this).has('ul li ul').length > 0) {
            console.log('found one');
            console.log($(this).has('ul li ul'))
        }
    });
$(this).find('ul li ul')
var elementArray = $(this).find('ul li ul').get();