2014-01-25 94 views
0

我有一個包含一個裝載機GIF圖片一個DIV:如何更改動態生成的DIV的ID的CSS?

...一些PHP代碼來獲得$ PDID

... while循環生成動態裏的

echo'<li><div class="loadme" id="'.$pdId.'"><img id="qtyloading" src="../../images/loading_6.gif" width="160" height="160"/></div> 


.... some other codes 

</li>'; 

... .. while循環

的盡頭有一個textarea標籤,將調用外部js函數的onblur

.... some codes here 
    echo '<textarea rows="3" cols="30" id="<separator>'.$ud.'<separator>'.$olue.'<separator>'.$pdId.'<separator>" onBlur="yorDesc(this.id,this.value)" >'.$deomer.'</textarea><br />'; 

,這裏是外部JS文件

... some codes to get the id 
alert (gid); 
document.getElementById("'+gid+'").style.display = "block"; 

的GID VAR是loadme div的ID,當你看到我提醒它,它showes正確的ID被解析,當然你已經注意到loadme div是使用不同的ID動態生成的。我想我可以通過使用上面提到的JavaScript代碼訪問每個單獨的加載程序DIV,但我不是。

你能幫我找出原因嗎?問我是否有上述代碼或說明的任何部分對您不明確,我將對其進行編輯。

讚賞。

+0

如何在div中添加class並相應地設置樣式。 – Nilambar

+0

是gid是字符串還是HTMLElement,如果字符串那麼就像document.getElementById(gid).style.display =「block」;或者gid.style.display =「block」 –

+0

@Nilambar它是動態生成的,我沒有分別訪問每一個,如果我通過修改類名更改css,所有div都將被阻止。這就是我不需要 –

回答

1
document.getElementById(gid.toString()).style.display = "block"; 

這將這樣的伎倆。或者您可以使用(''+gid+''),如果您願意。你幾乎擁有它,只是混合了太多不同的引號。

+1

你真棒,這是一個我坐在和扭曲的代碼gid.toString()是答案。輝煌真的很感激。 –

+0

很高興幫助:) – Deryck

0

如果是id,那麼你可以使用like.works。

document.getElementById(gid).style.backgroundColor="red"; 

在你的情況下,不用擔心通過PHP動態創建的div。

Fiddle Demo

+0

不,這是不正確的,外部函數被稱爲onBlur我怎麼知道哪個div被調用,如果我使用你的代碼,你的代碼正在改變顏色的div與div號碼2只。如果div編號4應該改變怎麼辦?您正在手動設置attr –

+0

@ user3150692已更新。好吧,一旦你從onBlur事件獲得了ID,那麼你想要做什麼。 –