That actually makes it easier.
Code:
var holders = document.getElementsByClassName("holder");
for ( var d = 0; d < divs.length; ++d )
{
var hdiv = divs[d];
var prdiv = hdiv.getElementsByClassName("price")[0];
var ptdiv = hdiv.getElementsByClassName("points")[0];
var price = Number( prdiv.innerHTMLreplace(/[^\d\.]/g,"") ); // remove currency, convert to number
var points = Math.floor(price);
ptdiv.innerHTML = points;
}
Only problem with this is that older versions of MSIE don't support getElementsByClassName.
Okay, so provide a substitute:
Code:
function elementsByClassName( name, container, elemType )
{
if ( container == null ) { container = document; }
if ( container.getElementsByClassName != null )
{
return container.getElementsByClassName( name );
}
if ( elemType == null ) { elemType = "*"; }
var find = container.getElementsByTagName( elemType );
var elems = [];
for ( var e = 0; e < find.length; ++e )
{
if ( find[e].className == name ) { elems.push( find[e] ); }
}
return elems;
}
And then you can use that in the prior code, thus:
Code:
var holders = elementsByClassName(document,"holder","div");
for ( var d = 0; d < divs.length; ++d )
{
var hdiv = divs[d];
var prdiv = elementsByClassName(hdiv,"price","div")[0];
var ptdiv = elementsByClassName(hdiv,"points","div")[0];
var price = Number( prdiv.innerHTMLreplace(/[^\d\.]/g,"") ); // remove currency, convert to number
var points = Math.floor(price);
ptdiv.innerHTML = points;
}