Ответ 1
В вашем случае:
document.getElementById('menu_selected').innerHTML
<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>
Я хочу получить текст элемента li, который id = "menu-selected".
Прямо сейчас я делаю что-то вроде
document.getElementById('menu_selected').childNodes.item(0).nodeValue
Есть ли более простой способ сделать то же самое?
В вашем случае:
document.getElementById('menu_selected').innerHTML
Если у вас есть HTML внутри элементов LI, и вы хотите получить текст, вам нужно innerText
или textContent
.
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];
}
Если вы можете использовать jQuery, он сводится к
var text = $('#menu_selected').text();
Попробуйте document.getElementById('menu_selected').text