2016-01-22 118 views
4

我有下面的代碼,它可以正常工作,只不過它將行添加到頁面上的每個表格。在jQuery中定位特定表格

我該如何定位代碼中的特定表?

$(document).ready(function() { 
 
    $.getJSON('/api/getUsers', 
 
    function(json) { 
 
     var tr; 
 
     for (var i = 0; i < json.length; i++) { 
 
     tr = $('<tr/>'); 
 
     tr.append("<td>" + json[i].UserName + "</td>"); 
 

 
     // Format the phone number 
 
     formatted_phone = json[i].PhoneNumber.replace(/(\d{3})(\d{3})(\d{4})/, '$1-$2-$3'); 
 

 
     tr.append("<td>" + formatted_phone + "</td>"); 
 
     tr.append("<td>" + json[i].Email + "</td>"); 
 
     tr.append("<td><button type=button class=\"btn btn-default btn-lg btn-block roster-button active\" data-toggle=modal data-target=#removeRoster>Remove</button></td>"); 
 
     tr.append("<td></td>"); 
 
     tr.append("<td><button type=button class=\"btn btn-default btn-lg btn-block roster-button active\" data-toggle=modal data-target=#updateTime>View/Update Time</button></td>"); 
 

 
     $('table').append(tr); 
 
     } 
 
    }); 
 
});

+0

給你的表中的ID,然後使用'$( '表#TABLEID')追加(TR);'見:HTTPS:/ /api.jquery.com/category/selectors/ – Sammy

+1

使用id或class作爲標識符而不是'$('table')' –

回答

4

你只需要一個標識符添加到您的表格,並據此更新選擇。如果你想將其應用到多個表,但不是全部,代替身份證使用一個通用類

$('#the-table').append(tr); 

<table id="the-table"> 

然後改變這一行。

0

有很多方法可以選擇一個元素。您可以使用eqid,class只是僅舉幾例。

<table class="tbl" id="tbl"> 

</table> 

<script type="text/javascript"> 
$('table#tbl').append(tr);//using ID 
$('table.tbl').append(tr);//using class 
$('table:eq(0)').append(tr);//using zero based index 
</script> 

退房了jQuery的網站上的選擇: https://api.jquery.com/category/selectors/

+0

也值得注意的是,使用'$('table')。eq(0)'會在新的瀏覽器中比'$('table:eq(0)')'提供更好的性能。 – litel