我查了一些被问过的类似问题。
当用户动态点击添加/删除按钮时,我想添加/删除按钮。因此,每个按钮都必须有唯一的ID来标识自己。
以下是html代码的一部分:
<p id="q1">Question: 1<input type="text" class="ttt"/>
<button class="buttonPlus" type="button"></button>
<button class="buttonMinus" type="button" id="1"></button></p>
以下是jQuery代码的一部分:
var questionCount = 1;
$("#q1").append("<p id='p2'>Question: " + ++questionCount + "<input type='text'>\
<button type='button' class='buttonPlus'></button>\
<button type='button' class='buttonMinus' id=questionCount></button></p>");
//Re-binding
var newBtnPlus = $("#q1").find('.buttonPlus:last');
var newBtnMinus = $("#q1").find('.buttonMinus:last');
newBtnPlus.click(function(){
btnPlsClickEvent(newBtnPlus);
});
newBtnMinus.click(function () {
btnMnsClickEvent(newBtnMinus);
});
function btnMnsClickEvent(btn) {
var idNum = $(this).attr("id");
alert(idNum);}
除了上面的方法,我尝试过: 改变(this.id); 改变(btn.id); .etc。
我不知道为什么我无法获得动态分配给减号按钮的id,也无法获得静态分配的html。
我被这个问题困住了好几个小时。 你能帮帮我吗?
谢谢, 阿什利
答案 0 :(得分:3)
当你去调用泛型函数时,只需将参考传递给按钮:
newBtnMinus.click(function () {
btnMnsClickEvent(this); // use "this" instead of your selector object
});
function btnMnsClickEvent(btn) {
var idNum = btn.id; // now reference the button you pass
alert(idNum);
}
答案 1 :(得分:1)
当您只需使用$(this).attr('id')
this.id
$('button').click(function(){
alert(this.id);
});