2010-03-17 43 views
16
<ul class="leftbutton" > 
      <li id="menu-selected">Sample 1</li> 
      <li>Sample 2</li> 
      <li>Sample 3</li> 
      <li>Sample 4</li> 
      <li>Sample 5</li> 
    </ul> 

我想獲取id =「menu-selected」的li項目的文本。
現在我做這樣的事情
獲取li元素的文本

document.getElementById('menu_selected').childNodes.item(0).nodeValue 

有沒有做同樣的任何簡單的方法?

+1

問6個問題。沒有接受。任何特定的原因? – 2010-03-17 08:23:48

+0

@nvl 哎呀,我很新的stackoverflow,將接受此後:) – Deepak 2010-03-17 09:51:43

+0

:)。但我不是說接受每一個答案,只有當你滿意時才接受(並且mp答案會令人滿意:) – 2010-03-17 10:19:21

回答

16

你的情況:

document.getElementById('menu_selected').innerHTML 
0

嘗試document.getElementById('menu_selected').text

+0

它應該是FF中的textContent和IE中的text中的內容 – Amarghosh 2010-03-17 08:45:21

+1

@Amarghosh:它是IE中的innerText, 「文本」僅適用於少數元素。 – 2010-03-17 08:49:53

6

如果你有HTML中的LI元素中,你只想要得到的文本,你需要innerTexttextContent

var liEl = document.getElementById('menu_selected'); 
var txt = liEl["innerText" in liEl ? "innerText" : "textContent"]; 

爲了避免每次都用這個條件語句,你可以只聲明一個全局變量:

var textContentProp = "innerText" in document.body ? "innerText" : "textContent"; 
function getText() 
{ 
    return document.getElementById('menu_selected')[textContentProp]; 
} 
2

如果你可以使用jQuery它歸結爲

var text = $('#menu_selected').text();