1 заметка с тегом

getElementsByTagName РСС

5 мая 2009, 16:58

get list of some tags from some element :D

Иногда, в каком-то блоке, нужно выбрать какой-то тег, и вывести его простым списком, или таким же списком обработать. Написал простую функцию для этого:
function getAllTagsInTag (tagid, tagname, aTags, j) {
	var tagaelm = $(tagid).getElementsByTagName('*');
	var aTags = aTags == null ? Object() : aTags;
	var j = j == null ? 0 : j;
	for(var i=0; i < tagaelm.length; i++) {
		if (tagaelm[i].nodeName == tagname.toUpperCase()) {
			aTags[j] = tagaelm[i];
			j++;
			//print_object(tagaelm[i]);
		}
		var inner = tagaelm[i].getElementsByTagName('*');
		if (inner.length > 0) {
			aTags = getAllTagsInTag(tagaelm[i], tagname, aTags, j);
		}
	}
	return aTags;

}


Очень часто нужно глянуть элементу внутрь, для этого можно использовать простую дампалку:
function print_object(obj) {
	var str = "<pre>";
	for(prop in obj){
		str+=prop + " = '"+ obj[prop]+"'\n";
	}
	str+="</pre>";
	document.write(str);

}
Лего модифицировать эту функцию, можно заставить её отдавать строку ;)
getElementsByTagName