2011-06-19 48 views
1
<span id="myId" class="myClass">Sample text</span>

我想通過使用文本值來獲得在HTML頁面中的特定字符串的ID或類,在這種情況下「示例文本」的包裝的ID或類。有沒有辦法做到這一點?如何得到一個字符串

+0

什麼是包裝?你在尋找DOM中的父元素嗎? – binfalse

回答

2

使用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; 
} 
+0

不錯的答案,但是,我希望那些會在非jQuery答案上花費額外時間的人。爲什麼?因爲這是可能的。 –

+0

應該是class className – locrizak

+0

@Caspar已經添加了。 –