javascript - 如何循环并选择附加元素以获取 .text() 和 .data() 值?
问题描述
我使用以下代码添加了一些 div 的动态和存储值:
var $element = $('<div class="draggablebox" />').text(component.children(':selected').text()).css({
width: wbox.val() * 2,
height: lbox.val() * 2,
padding: '0.5em',
border: '2px solid',
'user-select': 'none',
'background-color': 'gray',
cursor: 'pointer',
// position: 'absolute',
// 'font-size': '',
block: 'inline'
});
$element.attr('id', component.val());
$('#convas').append($element);
然后我尝试遍历元素以data()
使用以下代码获取每个元素的值。我得到text()
的 div 输出在同一个单元格中。
$('#convas').each(function(i, item) {
var row = '<tbody> <tr>';
row += '<td>' + $(item).text() + '</td>';
row += '<td>' + $(item).data('l') * $(item).data('w') + '</td>';
row += '<td>' + $(item).data('height') + '</td>';
row += '<td>' + $(item).data('quality') + '</td>';
row += '<td>' + $(item).data('minrate') + '</td>';
row += '<td>' + $(item).data('maxrate') + '</td>';
row += '<td>' + $(item).data('minTotal') + '</td>';
row += '<td>' + $(item).data('maxTotal') + '</td>';
row += '</tr> </tbody>';
console.log($(item).data('l'));
$('table#report-table').append(row);
});
解决方案
#convas
似乎是父母。我想你想遍历div
你附加的元素,所以改用这个:
$('#convas .draggablebox').each(function(i, item) {
// your code here...
});
推荐阅读
- reactjs - React redux mapStateToProps - 无法作为道具访问状态
- c - execvp 命令未运行 ls -l *.c
- vb.net - vb.net 能否支持 Chromium 引擎?
- imgur - Imgur 访问令牌过期时间这么长(315360000 秒还是毫秒?)
- nginx - nginx:服务器没有处理程序
- vuejs2 - 如何使用代理处理 vue cli 开发服务器中的重定向?
- c# - C#、WinForms 和应用程序图标
- javascript - 错误的 x 轴最小值最大值 Highcharts
- python - 如何使用 matplotlib 中的 mpatches.Patch 将自定义标签添加到条形图中
- google-apps-script - 如何在谷歌应用程序脚本上更改日志消息的语言