2013-04-18 78 views
0

我想複製一個元素,然後分配給新的ID和名稱。我的目標是後來我想再次找到那個元素。這裏是一個例子:getElementById返回allways null如果我搜索新創建的元素

<div id="contDiv"> 
<div style="float:left"> filename </div> 
<div style="margin-left: 323px"> playtime(in Sek.) </div> 
<div id="tl_Einst" class="editor-field"> 
<select id="Medianames" onchange="change(this)" name="TL_Medianame"> 
<span class="field-validation-valid" data-valmsg-replace="true" data-valmsg- for="Filename"> </span> 
<select id="playtime" class="playtime" name="playtime" disabled=""> 
</div> 
<input id="More" type="button" onclick="Addfiles()" value="+"> 
</div> 

在運行時,我複製元素「tl_Einst」與其子。然後用戶更改combox的內容,然後我讀取它們並將它們發送到服務器。後來我得到了答案。所以我打電話GetelementById("newElementID"),但我總是空,如果搜索新的創建元素。我能做什麼?

謝謝

馬立克

+2

GetelementById(「#newElementID」)應該在沒有「#」的情況下使用。 「#」是jQuery中的id選擇器 –

+0

我已更正我的帖子。 – burkut

+0

爲什麼你不顯示實際的JavaScript代碼! – epascarello

回答

2

正確語法如下:

var el = document.getElementById("newElementID"); 

通常,#是的jQuery或其他JavaScript框架,或@Quention以下提到,也可與使用document.querySelector。

你在哪裏添加元素到DOM?你能否也包含這些代碼?

+0

'#'是選擇器語法。你不需要一個框架或一個庫來使用它。 'document.querySelector('#foo');' – Quentin

+0

抱歉,這是我的類型錯誤。 – burkut

+0

@Quentin感謝您的更新,忘記了...更新。 –

0

你是否已將它添加到頁面?

getElementByID只會在DOM中找到一個元素。您可以將其添加到頁面或只需將其分配給一個變量。

var newElementID= document.createElement("p"); 

現在,您可以用newElementID找到它在你的代碼,即使它不是在頁面中。

+0

請再看看我的帖子。我很抱歉,我一次又一次地編輯我的文章。 – burkut

+0

這是應該在引號?: 'document.getElementById(「SpielDauerstr.toString()」);'。 嘗試'document.getElementById(SpielDauerstr.toString());' – ColBeseder

+0

沒有,這只是一個嘗試,因爲它沒有工作。我現在改變了它。但結果是相同的.... – burkut