Jquery设置数据属性不起作用

时间:2015-02-15 16:59:28

标签: jquery

我正在尝试克隆一个元素并增加一个计数器。除了好奇之外,它运作良好。

我认为这段代码应该更新源代码中的数据属性,但事实并非如此。我尝试过数据标记的一些变体:data('position-id') data("positionid") data('positionId') - 和其他。

我可以让它与attr一起使用,但我想知道为什么没有使用data属性更新源代码。此外,当我从克隆元素中获取值时,它会正确递增,但它不会显示在源代码中。

标记:

<div class="row layout-position" data-position-id="0">
...

和js的相关部分

 var clone = $position.clone();
 var expression = 'layoutPositionList\\[' + currentId + '\\]';
 var expression2 = 'layoutPositionList' + currentId;
 var replacement = 'layoutPositionList[' + nextId + ']';
 var replacement2 = 'layoutPositionList' + nextId;
 var regex= new RegExp(expression, "g");
 var regex2= new RegExp(expression2, "g");
 var newHtml = clone.html().replace(regex, replacement);

 newHtml = newHtml.replace(regex2, replacement2);
 clone.html(newHtml);
 clone.find('input').val('');

 console.debug(clone);

 $position.after(clone);
 $position.after('<hr />');
 // this works
 //$(clone).attr("data-position-id", nextId);
 // this doesn't 
 $(clone).data("position-id", nextId);

0 个答案:

没有答案