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

时间:2014-06-04 13:45:35

标签: javascript jquery

目前我有代码,当我点击一个按钮时,它会将按钮的值附加到一个新的段落标签中,同时使用计数为每个标签分配一个data-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,然后显示下一项等...

然而,p标签本身被分配了正确的数据ID号,我不知道为什么会这样?

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

首先你得到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');