我试图显示到列表但是我已经回复了所有代码,因为输出是[object HTMLUListElement]。如果我只是追加价值'本身然后把它放在ul上,但是如果我把它放在一个变量中我先回来[对象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);
});
我哪里错了?
答案 0 :(得分:2)
jQuery选择器返回一个类似于数组的对象,该对象包含对与选择器匹配的任何元素的本机引用。
然后通过each()
迭代这个类似数组的对象。
考虑到这一点,您可以看出对每个UL的引用依次传递给回调。所以value
是指向元素本身的(命名不佳的)变量。你当前看到的是尝试输出 - 即转换为字符串 - 一个对象而不是它的属性的结果。
进一步推断,您只需要知道如何获取元素的内部HTML。
这是通过value.innerHTML
完成的。
最好重命名value
element
- 虽然我们正在谈论明智的命名,navLinks
可能不是存储非链接的变量的最佳名称,但是,而是 list 元素。