2013-02-26 49 views
1

我有7個表(星期一到星期天),每個表下都有一個添加新行的按鈕。 我無法重命名該表的ID,因爲它是從腳本生成的。Javascript - 向不同表添加行

我想我有兩個選擇取

1)腳本在JavaScript中選擇表,因爲只有7

2)包圍的div標籤裏面的表(我可以補充)如this non working example

+0

我認爲你是對的:) – Kaf 2013-02-26 12:40:41

+0

是否所有的表都相同的ID? – luckystars 2013-02-26 12:43:20

+0

是的,所有人都有相同的ID,我不能改變他們。 – 2013-02-26 12:52:56

回答

0

你可以做以下 -

調用JavaScript函數上點擊按鈕,通過該元素。通過引用該元素獲取相應的表並在其中添加一行。

function jsfunc(elem) { 
    $(elem).prev("table").append("<tr>....</tr>") //add row logic using jquery 
} 

類似的邏輯使用JavaScript,我認爲這不會是你寫的問題。 在這種情況下,你永遠不會想要表的ID。

+1

提供OP是使用jQuery .. – luckystars 2013-02-26 12:42:35

+0

@ user2008945 - 您可以隨時使用javascript函數previousSibling,appenChild。在我的回答中,我沒有給出一個工作腳本,而是一個指導,他如何在沒有引用id的情況下添加一行。 – Ashwin 2013-02-26 12:46:36

0

試試這個它會工作

function displayResult(number) 
{ 
    var table1=document.getElementById(number).getElementsByTagName("table")[0]; 
    var row=table.insertRow(-1); 
    var cell1=row.insertCell(0); 
    var cell2=row.insertCell(1); 
    cell1.innerHTML="New"; 
    cell2.innerHTML="New"; 
} 
+0

我在這裏做錯了嗎? http://jsfiddle.net/wYmMk/19/ – 2013-02-26 13:31:13

0
YOU can use jQuery for this.... 

    $('.element').on('click', function(){ 
      rows='';  
      var row='<tr><td>...</td>....</tr>'; 
      rows=rows+row; 
      $(rows).appendTo('table'); 
     }); 

for jQuery visit... 

http://jquery.com/

+0

當我使用jquery時,我總是與我的一個模式插件發生衝突。有沒有辦法找出衝突來自哪裏? =( – 2013-02-26 13:29:59

+0

你可以藉助jQuery noconflict()方法。 – Amrendra 2013-02-27 03:58:43