MediaWiki:Tabs.js: Difference between revisions
Jump to navigation
Jump to search
Want an adless experience? Log in or Create an account.
(I give up.) |
(I think that getElementsByClassName function is what's been messing up the js all over the wiki) |
||
Line 1: | Line 1: | ||
var getChildrenByTagName = function(parent, name) { | var getChildrenByTagName = function(parent, name) { | ||
var nodeList = []; | var nodeList = []; | ||
Line 88: | Line 9: | ||
/* Move tabs from the tabcontent section to the tab section */ | /* Move tabs from the tabcontent section to the tab section */ | ||
/* This assumes that every tabcontent div is paired with one tab div. */ | /* This assumes that every tabcontent div is paired with one tab div. */ | ||
var destinations = getElementsByClassName("tab"); | var destinations = document.getElementsByClassName("tab"); | ||
var tabcontents = 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"); |
Revision as of 02:39, July 1, 2014
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]); } }