关于jQuery中的选择器的问题

时间:2011-10-09 07:12:18

标签: jquery jquery-selectors

最初,当用户点击删除按钮时,我希望删除整行元素。

这是为了在按下添加按钮时添加一行元素:

function btnPlsClickEvent(btn){
btn.remove(".buttonPlus");
$(".buttonMinus").show();
//$("#q" + questionCount).append("<p id='q'+ '" + ++questionCount + "' + ''>Question: " + questionCount + "<input type='text'>\
$("#q1").append("<p id='q'+ '" + ++questionCount + "' + ''>Question: " + questionCount + "<input type='text'>\
<button type='button' class='buttonPlus'></button>\
<button type='button' class='buttonMinus' id='"+ questionCount +"'></button></p>");

$(".buttonMinus:last").hide();  

//Because it's dynamically appended, I re-bind them in this way:
//Re-binding
var newBtnPlus = $(".buttonPlus:last");
var newBtnMinus = $(".buttonMinus:last");
newBtnPlus.click(function(){
    btnPlsClickEvent(newBtnPlus);   //ATTENTION!
});
newBtnMinus.click(function () {
    btnMnsClickEvent(this);     //ATTENTION! Is it passing btn which is at the head of the function? If so, it should refer to Plus button.
});

alert("Add a question.");}

所以,如果我想删除整行,我应该找到它的父

并调用.remove()。

function btnMnsClickEvent(btn) {
alert("You have deleted #" + btn.id + " question.");
btn.parent().remove();}

问题#1是:我可以使用btn正确获取减号按钮的ID。但是为什么我不能引用自己或它的父母并删除它?

Q#2是:为什么我可以在btnPlsClickEvent()的头部删除btn的类但是我不能在btnMnsClickEvent()中这样做?我知道我使用两种不同的方法将不同的对象传递给btnPlsClickEvent()和btnMnsClickEvent()。它们的区别是什么?

非常感谢, 阿什利

1 个答案:

答案 0 :(得分:0)

1#尝试将remove()行更改为:

$( btn ).parent().remove();

html dom元素的函数get对象btnMnsClickEvent(this);,你需要用jquery包装它

2#第二个函数获取jquery元素的对象,所以没有问题