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.
(I think that getElementsByClassName function is what's been messing up the js all over the wiki)
mNo edit summary
Line 11: Line 11:
var destinations = document.getElementsByClassName("tab");
var destinations = document.getElementsByClassName("tab");
var tabcontents = document.getElementsByClassName("tabcontent");
var tabcontents = document.getElementsByClassName("tabcontent");
Console.log(destinations.length
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");
console.log(tabs);
for( var j = 0; j < tabs.length; ++j ) {
for( var j = 0; j < tabs.length; ++j ) {
/* Move from tabcontents ul to tab ul */
/* Move from tabcontents ul to tab ul */

Revision as of 18:04, 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");
Console.log(destinations.length
for( var i = 0; i < tabcontents.length; ++i ) {
	var tabs = getChildrenByTagName(tabcontents[i], "UL");
	console.log(tabs);
	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]);
	}
}