2010-03-17 38 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> 

Tôi muốn nhận nội dung của mục li mà id = "menu-selected".
Ngay bây giờ tôi đang làm một cái gì đó giống như
Nhận nội dung của phần tử li

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

Có cách nào đơn giản hơn làm giống nhau không?

+1

hỏi 6 câu hỏi. không chấp nhận. Bất kỳ lý do cụ thể nào? –

+0

@nvl Rất tiếc, tôi rất mới với stackoverflow, Sẽ chấp nhận tại đây sau :) – Deepak

+0

:). Nhưng tôi không nói chấp nhận mọi câu trả lời, chỉ chấp nhận nếu bạn hài lòng (và câu trả lời mp sẽ thỏa mãn :) –

Trả lời

16

Trong trường hợp của bạn:

document.getElementById('menu_selected').innerHTML 
0

Hãy thử document.getElementById('menu_selected').text

+0

Nó phải là 'textContent' trong FF và' text' trong IE – Amarghosh

+1

@Amarghosh: Đó là 'innerText' trong IE, 'văn bản' chỉ áp dụng cho một vài phần tử. –

6

Nếu bạn có HTML bên trong các yếu tố LI và bạn chỉ muốn nhận được văn bản, bạn cần innerText hoặc textContent.

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

Để tránh sử dụng câu lệnh điều kiện này mọi thời gian, bạn chỉ có thể khai báo một biến toàn cầu:

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

Nếu bạn có thể sử dụng jQuery nó nắm để

var text = $('#menu_selected').text(); 
Các vấn đề liên quan