javascript - 带有多标签的 jquery 方法 parent() 不起作用

标签 javascript jquery html css

我正在尝试使用链接删除 <a href="#" class="removeclass">remove row</a> 下面一行:

$(AddButton).click(function (e)  //on add input button click
{

        FieldCount++; //text box added increment
        //add input box
        var menu = '<td><input....></td>';
        var numPortata = '<td><input...></td>';
        var quantita = '<td><input......></td>';
       // THIS IS THE ROW 
$(InputsWrapper).append('<tr><td><a href="#" class="removeclass"><b>&times;</b></a></td>'+ menu + numPortata + quantita +'</tr>');
        x++; //text box increment
return false;
});

$("body").on("click",".removeclass", function(e){ //user click on remove text
    if( x > 1 ) {
            $(this).parent('tr').remove(); //remove text box
            x--; //decrement textbox
    }
return false;
}) 

通过单击链接直到我只使用 div而不是 tr它工作正常。 但是我需要你使用一个表来做到这一点,所以为什么要从一个独特的 <div> 改变呢?到包含行和单元格的表格不起作用?

我需要编辑什么?我试着输入 .parent()代替 tr我试过了td显然它删除了 &times; (×),但不是其余的。如何删除整个tr?

最佳答案

您需要使用 .closest()

$(this).closest('tr').remove();

.parent()将仅找到直接父元素,在本例中为 td 元素,因为它与传递的选择器 tr 不匹配,该方法将不会返回任何元素。相反,您想找到祖先 tr 元素,因此您需要使用 .closest()

关于javascript - 带有多标签的 jquery 方法 parent() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21875082/

相关文章:

jquery - 如何在 jQuery Mobile 多选框中设置 "option"的样式

javascript - 如何在跨度中添加底部填充

javascript - 使用 HTML 和 JavaScript 的 WebGL 全屏按钮?

javascript - 渲染前移除 HTML 属性

javascript - 如何将焦点交还给刚刚失去焦点的 DIV

HTML5 VIdeo 控件可见性/z-index

javascript - 提交表单后发起ajax调用可以吗?

javascript - Node-RED:您可以从功能 Node 中的本地存储读取数据吗?

javascript - MySQL 在 Sequelize 5 中返回 STRING 而不是 JSON

javascript - 如果项目在 javascript 对象内,如何将其插入数组 [state.lastValue.push 不是函数]