Neues Element an vorhandenes hinzufügen

marcel_m

Mitglied
Hallo zusammen!

Ich habe folgendes Problem:
Im "Grundgerüst" meiner HTML Datei befindet sich anfangs nur ein Div Element im Body.
Durch den Aufruf einer ausgelagerten eigendefinierten Klassenmethode soll das Rückgabeobjekt (ebenfalls div) dem anderen div element angehängt werden:

HTML:
<html>
<head>
<script type="text/javascript" language="javascript">
  function startUp() 
    {
	var test = new Cart();
		
	var root =document.getElementById('main');	
	root.appendChild(test.printCart());
    }
</script>

<script type="text/javascript" language="javascript" src="lib/js/Cart.js">
</script>

</head>
<body onLoad="javascript:startUp()">
	<div id="main" >
	
	</div>
</body>
</html>

Die ausgelagerte JS Datei beinhaltet:
Code:
function Cart()
{
	this.printCart			= printCart;
}
function printCart()
{	
	var new_cart       = createElement('div');
	var new_attr       = createAttribute('id');
	new_attr.nodeValue = 'cart' ;
	new_cart.setAttributeNode(new_attr);

	return new_cart;
}

Das in der ausgelagerten Datei erzeugte Element wird aber nicht dem "root" Element angehängt.
Füge ich den ausgelagerten Code jedoch direkt (Ohne OOP) ein, so fügt sich das erzeugte Element problemlos dem "root" Element hinzu.

Ich bedanke mich schonmal im voraus!

Gruß Marcel
 
Probiers mal so:
Code:
function Cart()
{
	this.printCart=function()
  {
    var new_cart       = document.createElement('div');
    var new_attr       = document.createAttribute('id');
    new_attr.nodeValue = 'cart' ;
    new_cart.setAttributeNode(new_attr);
    return new_cart;
  }
}

Die 2 Wege, um ein Objekt um eine Methode zu erweitern, sehen schematisch so aus:
Code:
//Variante 1:
function objekt()
{
   this.funktionsname=function()
      {
        //Anweisungen
      }
}

//Variante 2:
function objekt()
{
}

objekt.prototype.funktionsname=function()
{
  //Anweisungen
}
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück