document.evaluate Exemple: <a><b id="id_i_need_to_return"><c>value_i_need_to_filter</c></b></a> var xpathResult = document.evaluate( '//a/b[c/text()="value_i_need_to_filter"]/@id', document, null, XPathResult.ANY_TYPE, null ); console.log(xpathResult.iterateNext().value); // id_i_need_to_return //ou var xpathResult = document.evaluate( '//a/b[c="value_i_need_to_filter"]/@id', document, null, XPathResult.ANY_TYPE, null ); console.log(xpathResult.iterateNext().value); // id_id_need_to_return