请我有以下标记:
<div class="item"> 1 a </div>
<div class="item"> 2 b </div>
<div class="item"> 3 c </div>
点击一个按钮后,我希望使用jQuery将三个元素的值增加2并得到:
<div class="item"> 3 a </div>
<div class="item"> 4 b </div>
<div class="item"> 5 c </div>
请帮忙吗?
非常感谢
答案 0 :(得分:3)
您可以在按钮的事件处理程序中执行此操作:
$('.item').each(function(){
$(this).html(
$(this).html().replace(/(\d+)/, function(v){return parseInt(v,10)+1})
);
});
这会增加项目中的第一个数字(如果您想增加任何数字,只需将正则表达式更改为/(\d+)/g
)。
<强> Demonstration 强>
答案 1 :(得分:1)
你应该修改你的html:
<div class="item"> <span>1</span> product </div>
<div class="item"> <span>2</span> product </div>
你的Javascript应该是:
$('.yourbutton').click(function(){
$( '.item' ).each(function(){
var actual = parseInt( $(this).find( 'span' ).html() );
$(this).find( 'span' ).html( actual + 1 );
});
});
答案 2 :(得分:0)
查看.appendTo类HERE
另一方面,使用.appendTo(),内容在方法之前, 作为选择器表达式或动态创建的标记,以及 它被插入到目标容器中。