myNotlar Logo

Element.cloneNode()


Internet Explorer Firefox Opera

cloneNode fonksiyonu, elementin tüm özelliklerinin ve değerlerinin ve opsiyonel olarak alt düğümlerinin bir kopyasını oluşturarak, yeni oluşturulan kopya elementi döndürür.

Sözdizimi

kopyaDugum = element.cloneNode(derinmi)
derinmitrue veya false değer alır. true olması durumunda tüm alt düğümleri ile birlikte kopyası oluşturulur. false olması durumunda sadece özellikleri ve değerleri kopyalanır.

Dönüş Değeri

kopyaDugumKlonlanmış yeni element.

Örneğin, sayfa tasarlanırken içiçe kullanılan div elementleri derin kopyada, altındaki div'ler ile birlikte kopyalanır. Normal kopyada sadece özellikleri alınarak altındaki div'ler alınmaz. Fakat, bazı elementler için bu parametrenin geçerliliği yoktur. Örneğin, bir IMG elementinin gösterdiği resmin kaynağı veya bir INPUT-TEXT elementinin içerdiği değer elementlerin alt düğümü değil, özelliğidir. Bu yüzden, bu ve bazı elementlerin derin veya normal, her iki şekilde de içerikleri kopyalanacaktır.

Aşağıdaki örnek, içiçe yerleştirilmiş iki div elementinin ve input-text elementinin derin ve normal kopyalarının oluşturulmasını göstermektedir.

<input id="butonDDerKopya" type="button" value="DIV Derin Kopya" onClick="divDerinKopya()"/>
<input id="butonDNorKopya" type="button" value="DIV Normal Kopya" onClick="divNormalKopya()"/>
<input id="butonTDerKopya" type="button" value="TEXTBOX Derin Kopya" onClick="textDerinKopya()"/>
<input id="butonTNorKopya" type="button" value="TEXTBOX Normal Kopya" onClick="textNormalKopya()"/>

<div id="OrnekDiv" style="background-color:#CC3300; width:60px; height:60px; padding:10px;">
	<div style="background-color:#0033CC; width:100%; height:100%;"></div>
</div>

<div id="ornekCerceve">
<input id="textGiris" type="text" value=""/>
</div>

<script type="text/javascript">
function Kopyala(nesneAdi, derin)
{
	var gecici = document.getElementById(nesneAdi).cloneNode(derin);
	gecici.id = "";
	document.getElementById('ornekCerceve').appendChild(gecici);
}
function divDerinKopya()
{
	Kopyala('OrnekDiv', true);	
}
function divNormalKopya()
{
	Kopyala('OrnekDiv', false);
}
function textDerinKopya()
{
	Kopyala('textGiris', true);
}
function textNormalKopya()
{
	Kopyala('textGiris', false);
}
</script>

Örnekte, klonlanan elementlerin id'leri özellikle boş değere atanmaktadır. Çünkü, doküman içinde aynı kimliğe sahip sadece bir tane element olabilir. Aynı kimliğe sahip farklı bir elementi örnekteki ornekCerceve isimli div içine kopyalamak, aynı kimliğe sahip diğer elementin doküman kontrolünden silinip yeni eklenen elementin dokümana dahil edilmesi anlamına gelir.

Test Edin
İlgili Başlıklar
 
myNotlar Hakkında
Telif Hakkı © 2007-2009 mynotlar.com Tüm Hakları Saklıdır. Kopyalanamaz. Yayınlanamaz.
E-Posta : support@myNotlar.com

| Tek Kişilik Oyunlar | Sudoku | Oyunlar |