繁体   English   中英

获取[object HTMLUListElement]而不是对象的内容

[英]Getting [object HTMLUListElement] instead of contents of the object

我正在尝试显示到列表,但是我得到的代码全都返回了,因为输出是[object HTMLUListElement]。 如果我只附加'value'本身,则将其放在ul中,但是如果我先将其放入变量中,则只需返回[object HTMLUListElement]:

var listFind = $('.yCmsContentSlot'),
    navLinks = listFind.find('ul'),
    navLinksTotal = navLinks.length,
    listContainer = $('.search-error__content-bottom-list');

    if (navLinksTotal >= 5) {
        navLinksTotal = 3;
    }

    var navBlockSize = 12 / navLinksTotal;

    $(navLinks).each(function(key, value) {
        var navListBlock = '<div class="col-md-' + navBlockSize + '">' + value + '</div>';
        listContainer.append(navListBlock);
    });

我要去哪里错了?

jQuery选择器返回一个类似于数组的对象,该对象包含对与选择器匹配的任何元素的本机引用。

然后,您将通过eacher each()遍历此类似数组的对象。

考虑到这一点,您可以确定对每个UL的引用又传递给了回调。 因此, value是一个指向元素本身的(名称粗略)变量。 您当前看到的是尝试输出(即转换为字符串)对象而不是其属性的结果。

进一步推断,您只需要知道如何获取元素的内部HTML。

这是通过value.innerHTML完成的。

更好的方法是重命名value element -在我们讨论明智的命名时, navLinks可能不是存储链接而不是存储列表元素的变量的最佳名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM