<span id="myId" class="myClass">Sample text</span>
我想通过使用文本值来获得在HTML页面中的特定字符串的ID或类,在这种情况下“示例文本”的包装的ID或类。有没有办法做到这一点?如何得到一个字符串
<span id="myId" class="myClass">Sample text</span>
我想通过使用文本值来获得在HTML页面中的特定字符串的ID或类,在这种情况下“示例文本”的包装的ID或类。有没有办法做到这一点?如何得到一个字符串
使用jQuery,这是非常简单的:
var searchText = 'Sample text',
$element = $('span:contains(' + searchText ')'),
id = $element.attr('id'),
className = $element.attr('class');
这不是严格香草JS如此简洁。
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;
}
不错的答案,但是,我希望那些会在非jQuery答案上花费额外时间的人。为什么?因为这是可能的。 –
应该是class className – locrizak
@Caspar已经添加了。 –
什么是包装?你在寻找DOM中的父元素吗? – binfalse