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();