簡體   English   中英

使用jQuery隱藏表td

[英]hide a table td using Jquery

在以下代碼中,我如何隱藏表的ID列。

var joblist = "";
joblist = joblist + "<table ><tr><th >Select</th><th id='td_1'>ID</th><th >Name</th><th >Names</th><th>OS</th><th >Server</th></tr>";

var tabString = '<tr ><td > ' + '<input type="radio" name="joblist" onclick="myfunc(this);"  id= ' + value.jobid + 'value=' + value.jobid + '> </td><td id="td_1" >' + value._id + '</td><td >' + value.names + '</td><td a>' + value.os +  '</td><td >' + value.server + '</td></tr>';

joblist = joblist + tabString;

我試過了

$("#td_1").hide()

但這不起作用,還有其他解決方案嗎?

首先,如果有多個td,則不要使用相同的ID,在這種情況下,請添加其他一些帖子或前置詞。 並用作

 $('[id^="td_1"]').hide();//for post
 $('[id$="td_1"]').hide();//pre

嘗試這個

 $('[id="td_1"]').hide();

首先ID必須是unique 您已為THTD聲明了相同的ID

$("#your_td_id").hide();

如果您使用多個TD使用class代替ID

正如其他人提到的那樣,您不能僅基於ID來匹配多個元素。 它們在整個文檔中必須是唯一的。 我懷疑您所看到的是'ID'標題從表格頂部消失了,但是這些值稍后在表格中仍然可見。

其他答案提到換班。 還有另一個選擇,使用第nth-child偽選擇器:

    $("table tr > *:nth-child(2)").hide();

這將把第二個元素直接隱藏在tr下,因為*THTD都匹配。 如果您永遠不希望它可見,那么更好的解決方案包括CSS:

    table tr > *:nth-child(2) { display: none; }

或者只是將其渲染為<input type='hidden' />並將其包含在您現有的單元格之一中(例如,單選按鈕旁邊)。

請注意,HTML中還有一些其他錯誤,包括:

    <td a>' + value.os +

您可能希望同時進行調查。

隱藏元素之前,必須將其分配給DOM。 如果要隱藏多個元素,則必須使用class屬性而不是id

var joblist = "";
joblist = joblist + "<table ><tr><th >Select</th><th class='td_1'>ID</th>" +
                    "<th >Name</th><th >Names</th><th>OS</th><th >Server</th></tr>";

var tabString = '<tr ><td > ' + '<input type="radio" name="joblist" 
               onclick="myfunc(this);"  id= ' + value.jobid + 'value=' + 
               value.jobid + '> </td><td class="td_1" >' + value._id +
              '</td><td >'+ value.names + '</td><td a>' + value.os +  
              '</td><td >' +  value.server + '</td></tr>';

joblist = joblist + tabString;

$('#myElement').append(joblist);
$('.td_1').hide();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM