MediaWiki:Tabs.js: Difference between revisions

From Zelda Dungeon Wiki
Jump to navigation Jump to search
Want an adless experience? Log in or Create an account.
mNo edit summary
(Reverted edits by Locke; Restore to version 93278 by Locke)
Line 11: Line 11:
var destinations = document.getElementsByClassName("tab");
var destinations = document.getElementsByClassName("tab");
var tabcontents = document.getElementsByClassName("tabcontent");
var tabcontents = document.getElementsByClassName("tabcontent");
for( var i = 0; i < tabcontents.length; ++i ) {
for( var i = 0; i < tabcontents.length; ++i ) {
var tabs = getChildrenByTagName(tabcontents[i], "UL");
var tabs = getChildrenByTagName(tabcontents[i], "UL");
for( var j = 0; j < tabs.length; ++j ) {
for( var j = 0; j < tabs.length; ++j ) {
var tab = tabs[j].firstChild;
/* Move from tabcontents ul to tab ul */
destinations[i].firstChild.appendChild(tabs[j].firstChild);
/* Remove the now empty tabcontents ul */
/* Remove the now empty tabcontents ul */
tabcontents[i].removeChild(tabs[j]);
tabcontents[i].removeChild(tabs[j]);
/* Move from tabcontents ul to tab ul */
destinations[i].firstChild.appendChild(tab);
console.log(tab);
console.log(destinations[i].firstChild);
}
}
}
}

Revision as of 18:25, November 23, 2015

var getChildrenByTagName = function(parent, name) {
	var nodeList = [];
	for (var child = parent.firstChild; child != null; child = child.nextSibling) {
		if (child.nodeType == 1 && name == child.nodeName) { nodeList.push(child); }
	}
	return nodeList;
};

/* Move tabs from the tabcontent section to the tab section */
/* This assumes that every tabcontent div is paired with one tab div. */
var destinations = document.getElementsByClassName("tab");
var tabcontents = document.getElementsByClassName("tabcontent");
for( var i = 0; i < tabcontents.length; ++i ) {
	var tabs = getChildrenByTagName(tabcontents[i], "UL");
	for( var j = 0; j < tabs.length; ++j ) {
		/* Move from tabcontents ul to tab ul */
		destinations[i].firstChild.appendChild(tabs[j].firstChild);
		/* Remove the now empty tabcontents ul */
		tabcontents[i].removeChild(tabs[j]);
	}
}