I have the following code which seems to work fine in all browsers except IE8 and below.
$("table.availability").each( function() {
var siteName = $(this).parent().siblings("h2").contents().filter(function() { return this.nodeType == Node.TEXT_NODE; }).text()
alert(sitename);
});
It gets the content of an element and strips out everything contained within a child element just leaving the text of that element.
The error I get says that Node is undefined – so I declare it at the top of the js file and then get the same message about TEXT_NODE so I declare that. I then get the following error:
Unable to get property 'TEXT_NODE' of undefined or null reference
Can anyone help me to fix this or can anyone think of a better way to get the same result. Thanks.
The
TEXT_NODEconstant has a value of 3. You can just use that:Older versions of IE just don’t implement the
Nodeinterface, but they do still follow the DOM spec and assign the correctnodeTypeproperty values.If you want to use the “constant”, you can declare a
Nodeobject yourself: