【发布时间】:2017-10-27 13:16:18
【问题描述】:
我有一个包含每个嵌套 ul 元素的列表,我希望能够找到每个 .cart-select 项目的 data-id 属性,将它们加在一起,然后在某处打印出来。例如,第一个 .cart-select 项目的值为 7。
到目前为止,我已经添加了一个函数,它遍历每个 .cart-select 并找到 .bay-qty 的 data-id,但是我不确定如何从每个中获取这些值并将它们加在一起。
有人可以帮忙吗?
$('.cart-select').each(function() {
var products = $('.list .cart-items', this) find('.bay-qty').data("id").count();
$('<p>' + products + '</p>').appendTo(this);
});
<li class="cart-select">
<li></li>
<ul class="cart-items">
<table>
<tr>
<td class="bay-qty" data-id="1">1</td>
</tr>
<tr>
<td class="bay-qty" data-id="2">2</td>
</tr>
<tr>
<td class="bay-qty" data-id="4">3</td>
</tr>
</table>
</ul>
<li>
<li class="cart-select">
<li></li>
<ul class="cart-items">
<table>
<tr>
<td class="bay-qty" data-id="1">1</td>
</tr>
</table>
</li>
<li>
【问题讨论】:
-
我不懂你的 HTML。你有
<li>标签嵌套在其他<li>标签中(要创建一个嵌套列表,你需要<li><ul></ul><li>),然后<ul>标签里面有<table>标签;<ul>中唯一在语义上有效的元素是<li>。此外,您的<td>标记没有值,因此呈现的只是一些项目符号。 -
嗨,汤姆,是的,你是对的。这是我正在编写的代码的简化版本,只是为了给你一个例子,我错误地将 .cart-items 键入为
- 而不是
- 。答案已编辑。
- 而不是