Ankündigung

Einklappen
Keine Ankündigung bisher.

function getElementsByClassName

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • function getElementsByClassName

    Hallo Leute!

    Ich hatte immer die schon sehr lange die eigene Funktion getElementsByClassName in Verwendung.

    Code:
    function getElementsByClassName(class_name,object)
    {
    	var all_obj,ret_obj=new Array(),j=0;
    	if(object)
    	{
    		all_obj=object.childNodes;			
    	}
    	else
    	{
    		if(document.all)
    			all_obj=document.all;
    		else if(document.getElementsByTagName && !document.all)
    			all_obj=document.getElementsByTagName("*");
    	}		
    	
    	for(i=0;i<all_obj.length;i++)
    	{			
    		classname=all_obj[i].className;		
    		if(classname!=undefined)
    		{			
    			if(classname.indexOf(" ")!=-1)
    			{					
    				classname=classname.split(" ");
    				for(k=0;k<classname.length;k++)
    				{
    					if(classname[k]==class_name)
    					{
    						ret_obj[j]=all_obj[i];
    						j++;
    					}
    				}
    			}
    			else
    			{
    				if(classname==class_name)
    				{
    					ret_obj[j]=all_obj[i];
    					j++;
    				}
    			}
    		}
    		
    	}
    	return ret_obj;
    }
    Aufruf: getElementsByClassName("classname",document.getEle mentsById("id"))

    nun habe ich wo gelesen das man es ja auch so machen könnte:

    document.getElementsByClassName = function(){ ...}

    Aufruf: document.getElementsByClassName("classname")

    somit könnte ich auch nicht mehr eine Node angeben bei der er loslegen soll.

    Könnte man irgendwie etwas machen, dass man auch so etwas schreiben könnte:


    Aufruf: document.getElementById("id").getElementsByClassNa me("classname")

    Vielen Dank im Voraus!!!
Lädt...
X