Javascript 在表格中设置可见性打开/关闭打开按钮

Javascript 在表格中设置可见性打开/关闭打开按钮,javascript,html-table,visibility,Javascript,Html Table,Visibility,我正在创建一个表,在第5列中有一个按钮。当用户点击表格的行时,按钮应首先可见。我正在…上设置truble可见性 这是我的密码: for (var i = dataRaw.length; i > 0; i--) { var r = dataRaw[i-1]; var row = table.insertRow(0); row.id = r[0]; for (var

我正在创建一个表,在第5列中有一个按钮。当用户点击表格的行时,按钮应首先可见。我正在…上设置truble可见性

这是我的密码:

for (var i = dataRaw.length; i > 0; i--) {

                var r = dataRaw[i-1];
                var row = table.insertRow(0);
                row.id = r[0];
                for (var x = 0; x < r.length; x++) {

                    if (i === 1) {
                        var headerCell = document.createElement("TH");
                        headerCell.innerHTML = r[x];
                        row.appendChild(headerCell);

                    } else {
                        var cell = row.insertCell(x);

                        if (x === 5) {

                            var btn = document.createElement('input');
                            btn.type = "button";
                            btn.className = "btn";
                            btn.id = r[0].toString();
                            btn.value = "Vis";
                            btn.style.backgroundColor = '#428bca';
                            btn.style.color = 'white';
                            btn.style.visibility = "hidden";
                            cell.appendChild(btn);

                        }
                        else {
                            cell.innerHTML = r[x];
                        }

                    }
                }
            }

按钮在开始时是“隐藏”的,但我无法再次显示它…有人吗

假设每行都有一个按钮,或者您希望将第一个按钮隐藏在该行中\

$('#errorTable').on('click', 'tr', function () {

      //document.getElementById(requestID).style.visibility = 'visible';

       $(this).find('button').first().hide();           
       // or if you set your buttons as INPUTS:
       $(this).find('input[type=button]').first().hide();
}
注意:此方法不需要单击的行的唯一id。除非您想将其中继回服务器

编辑 生成按钮的代码也可以使用一些修改:

if (x === 5) {
    var btn = $('<input>')
             .attr("type","button")
             .attr("id",r[0].toString())
             .attr("value","Vis")
             .css("background-color","#428bca")
             .css("color","white")
             .css("display","none")       // initially hidden
             .addClass("btn");

    btn.appendTo($(cell));
}

请显示您的HTML代码段,并将Javascript简化为仅对解决问题有影响的部分。如果我使用style.display='none',整行将被隐藏…只想隐藏行中的按钮,那么您只需使用
$(this.find('button')。first().hide()
看起来您对TR和button元素使用了相同的ID值?ID在HTML文档中必须是唯一的。可以正常工作:)但是,如果我首先要隐藏然后显示,它就不起作用了。。。。首先我设置:btn.style.visibility=“hidden”;然后我尝试了$(this.find('button').first().show();和$(this).find('input[type=button]”)。first().show()。。。。。。。但不是working@JoeDoe我编辑了我的答案,以适应你们的评论和你们的修改工作,但弄乱了网站中的其他元素。我不能使用我的按钮版本,并使用$(此)。按id查找按钮吗?如果我添加btn.id=r[0].toString()+“btn”,那么每个按钮都有不同于tablerow id的唯一id@JoeDoe我再次编辑了我的答案,以显示如何再次显示按钮
if (x === 5) {
    var btn = $('<input>')
             .attr("type","button")
             .attr("id",r[0].toString())
             .attr("value","Vis")
             .css("background-color","#428bca")
             .css("color","white")
             .css("display","none")       // initially hidden
             .addClass("btn");

    btn.appendTo($(cell));
}
$("#" +requestID+ "btn").show();