From 24f99305fcda201f67c8de846bb2d683011099b7 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Tue, 15 Sep 2009 16:27:24 -0400 Subject: Filters displaying properly --- lib/js/urweb.js | 44 ++++++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 18 deletions(-) (limited to 'lib/js') diff --git a/lib/js/urweb.js b/lib/js/urweb.js index a1179231..b1046aa6 100644 --- a/lib/js/urweb.js +++ b/lib/js/urweb.js @@ -304,20 +304,22 @@ function dyn(pnode, s) { runScripts(dummy); var table = x.parentNode; - var arr = dummy.getElementsByTagName("tbody"); - firstChild = null; - var tbody; - if (arr.length > 0 && table != null) - tbody = arr[0]; - else - tbody = dummy; - - var next; - firstChild = document.createElement("script"); - table.insertBefore(firstChild, x); - for (var node = tbody.firstChild; node; node = next) { - next = node.nextSibling; - table.insertBefore(node, x); + if (table) { + var arr = dummy.getElementsByTagName("tbody"); + firstChild = null; + var tbody; + if (arr.length > 0 && table != null) + tbody = arr[0]; + else + tbody = dummy.firstChild; + + var next; + firstChild = document.createElement("script"); + table.insertBefore(firstChild, x); + for (var node = tbody.firstChild; node; node = next) { + next = node.nextSibling; + table.insertBefore(node, x); + } } } else if (pnode == "tr") { var dummy = document.createElement("body"); @@ -325,10 +327,16 @@ function dyn(pnode, s) { runScripts(dummy); var table = x.parentNode; - var arr = dummy.getElementsByTagName("tr"); - firstChild = null; - if (arr.length > 0 && table != null) { - var tbody = arr[0], next; + if (table) { + var arr = dummy.getElementsByTagName("tr"); + firstChild = null; + var tbody; + if (arr.length > 0 && table != null) + tbody = arr[0]; + else + tbody = dummy.firstChild; + + var next; firstChild = document.createElement("script"); table.insertBefore(firstChild, x); for (var node = tbody.firstChild; node; node = next) { -- cgit v1.2.3