[英]Jquery .each() renders [object HTMLUListElement] instead of HTML
[英]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.