javascript - Jquery 分配 data-id,第一个值未定义

标签 javascript jquery

目前我有这样的代码,当我单击按钮时,它会将按钮的值附加到新的段落标记中,同时还会使用计数为每个标记分配一个数据 ID。

   var count = 1;
   buttonValue = ($(this).val());
   var buttons = $( ".button-values" );
   buttonPara = $(".button-values p");
   var addData = $('<p>'+buttonValue+'</p>').attr('data-id', count++);
   addData.appendTo(buttons);
   var dataCount = buttonPara.last().attr('data-id');
   console.log(dataCount);   

但是,当我查看控制台时,第一个项目显示为未定义,然后第二个项目显示为 1,然后是下一个 2 等等...

然而,p 标签本身被分配了正确的数据 ID 号,我不确定为什么会发生这种情况?

如有任何帮助,我们将不胜感激。

最佳答案

首先你得到p的集合:

buttonPara = $(".button-values p");

然后添加新的p:

var addData = $('<p>'+buttonValue+'</p>').attr('data-id', count++);
addData.appendTo(buttons);

然后,您可以从添加最新 p 之前生成的集合中获取最后一个 p:

var dataCount = buttonPara.last().attr('data-id');

当您向页面添加元素时,buttonPara 变量不会自动更新。尝试更换

var dataCount = buttonPara.last().attr('data-id');

var dataCount = $(".button-values p").last().attr('data-id');

关于javascript - Jquery 分配 data-id,第一个值未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24039171/

相关文章:

javascript - 基于分配给它的特定 css 类的另一个 div #id 隐藏带有 css #id 的 div

javascript - 使用词边界求值的正则表达式

javascript - 当自定义参数从子组件获取数据时,如何在 React 中传递除了您自己的自定义参数之外的事件参数

css - 基于类用jQuery添加css

jquery - 选择不包含特定类的最后一项

javascript - 单选按钮设置属性已检查在功能中不起作用

javascript - 什么是编写代码的更简单的方法来总结 JavaScript 中包括空值和未定义的字符串的长度

javascript - Ember - 在加载、转换和调整大小时调整 DIV 大小?

jquery - 接受策略隐私,然后启用使用 jQuery 提交表单

javascript - jquery 点击功能不工作