Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery第n个子问题与选择_Javascript_Jquery_Html - Fatal编程技术网

Javascript Jquery第n个子问题与选择

Javascript Jquery第n个子问题与选择,javascript,jquery,html,Javascript,Jquery,Html,我得去下表 我有“添加”按钮,可以在我的表中创建新行 $(document).on('click','#add',function() { $('#table tr:last').after('<tr bgcolor="#FFFFFF">' + '<td> <select>' + '<option value="1">1</option>' + '<opti

我得去下表

我有“添加”按钮,可以在我的表中创建新行

$(document).on('click','#add',function() {
    $('#table tr:last').after('<tr bgcolor="#FFFFFF">' +
        '<td> <select>' +
            '<option value="1">1</option>' +
            '<option value="2">2</option>' +
            '<option value="3">3</option>' +
            '<option value="4">4</option>' +
        '</select> </td>' +
        '<td style="display:none">A number</td>' +
        '<td>Test</td>' +
        '<td id="save">Save</td>' +
        '<td id="delete">Delete</td>' +
        '</tr>');
});
当我想再次“编辑”时,我想用下拉列表替换数量文本。因此,我隐藏文本并重新显示
标记

$(document).on('click','#edit',function() {
    this.id = "save";
    this.innerHTML = "Save";
    $(this).parent().find("td:first").show();
    $(this).parent().find(":nth-child(2)").hide();
});
一切正常,但最后一行删除了
2

我说完这个

我不知道如何解决这个问题。这可能不是最好的解决方案,我愿意采用任何其他方法来实现这一点。

:第n个孩子(2)
将抓住该家长中所有内容的第二个孩子。您可能希望将其更改为
td:nth child(2)

另一方面,我还将
td:first
更改为
td:first child
,因为这是自然的CSS选择器,建议更快:

因为:first是jQuery扩展,而不是CSS规范的一部分,所以使用:first的查询无法利用本机DOM querySelectorAll()方法提供的性能提升。要在使用时获得最佳性能:首先选择元素,首先使用纯CSS选择器选择元素,然后使用.filter(“:first”)


这一行产生了问题:-

$(this).parent().find(":nth-child(2)").hide();
因为它会隐藏第二个位置的所有东西,这就是为什么你想要的标签被隐藏的原因

最好详细地说出你想隐藏的东西

你的情况是这样的

$(this).parent().find("td:nth-child(2)").show();

只是一个快速注释:添加按钮是否可以多次单击?独特的ID和东西
$(this).parent().find("td:nth-child(2)").show();