繁体   English   中英

获取 li 元素的文本

[英]Get the text of an li element

<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 项目的文本。
现在我正在做类似的事情

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

有没有更简单的方法来做同样的事情?

在你的情况下:

document.getElementById('menu_selected').innerHTML

如果LI元素中包含HTML而您只想获取文本,则需要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];
}

如果你可以使用jQuery,那就归结为

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

尝试document.getElementById('menu_selected').text

我想知道如何从更广泛的意义上做到这一点,而不是通过 ID 选择并遇到了这个问题。

const listItemTextContent = Array.from(document.querySelectorAll("li"))

const listItemTextArray = 
    listItemTextContent.map(itemText => itemText.firstChild.data)

console.log(listItemTextArray);

或者您可以使用压缩/链式替代方案!

const listItemTextContent = 
    Array
        .from(document.querySelectorAll("li"))
        .map(itemText => itemText.firstChild.data)

console.log(listItemTextContent)

我希望这对某人有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM