Domanda

Quando viene eseguito su una pagina xhtml, xpath non sembra restituire alcun risultato.

var result = document.evaluate( "//a/img", document.body, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null );

Ad esempio, restituisce un set di risultati vuoto. Qual è il problema qui e come posso risolverlo?

Altri suggerimenti

Ok con questa soluzione, ma ora sto usando il fratello precedente in xpathExpression, provo con quello:

function nsResolver(prefix){
    var ns = {
        'mathml' : 'http://www.w3.org/1998/Math/MathML', // for example's sake only
        'h' : 'http://www.w3.org/1999/xhtml'
    };
    return ns[prefix];
}

e quindi:

document.evaluate('//h:' + node.tagName + '/preceding-sibling::' + node.tagName, node, nsResolver, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).snapshotLength

che restituiscono sempre 0 con xhtml.

scroll top