En utilisant jQuery, il est très simple:
var searchText = 'Sample text',
$element = $('span:contains(' + searchText ')'),
id = $element.attr('id'),
className = $element.attr('class');
Ce n'est pas concis JS strictement vanille.
var spans = document.getElementsByTagName('span'),
element,
text,
re = /Sample Text/,
// IE doesn't support textContent, FF doesn't support innerText
prop = document.body.innerText ? 'innerText' : 'textContent';
for (var i=0; i<spans.length; i++)
{
if (re.test(spans[i][prop]))
{
span = spans[i];
break;
}
}
var id, className;
if (span)
{
id = span.id;
className = span.className;
}
Qu'est-ce qu'un wrapper? Cherchez-vous l'élément parent dans DOM? – binfalse