【问题标题】:How to get the wrapper's id or class of a string如何获取包装器的 id 或字符串的类
【发布时间】:2011-06-19 17:14:46
【问题描述】:
示例文本

我想通过使用文本值来获取 html 页面中特定字符串的 id 或类,在本例中为 “示例文本”。有什么办法吗?

【问题讨论】:

  • 什么是包装器?您是否在 DOM 中搜索父元素?

标签: javascript string tags


【解决方案1】:

使用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 答案上花费一些额外的时间。为什么?因为这是可能的。
  • 应该是类而不是类名
猜你喜欢
  • 1970-01-01
  • 2016-09-08
  • 2018-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多