使用 JavaScript 获取 "<li>" 标记中的文本



我想获取li标签文本的列表。

我让标签列表lis工作,但我没有将文本内容分配给我的country对象。

脚本

var lis = document.getElementById("navbar").getElementsByTagName("li");
var url = '@Url.Action("Paychart", "Pivot")';
var country;
for (var i = 0; i < lis.length; i++)
{
country[i] = lis[i].textContent;
}

.HTML

<div id="navbar">
<ul id="sortable1" class="connectedSortable">
@foreach (var item in Model)
{
<li class="ui-state-default">@item</li>
}
</ul>
</div>

首先,您需要启动country,例如var country = {};,否则您将在此行收到错误country[i] = lis[i].textContent;

其次,我建议,而不是这样做

var lis = document.getElementById("navbar").getElementsByTagName("li");

使用querySelectorAll,它可以像这样替换上面的内容

var lis = document.querySelectorAll("#navbar li");

堆栈代码段

var lis = document.querySelectorAll("#navbar li");
var url = '@Url.Action("Paychart", "Pivot")';
var country = {};
for (var i = 0; i < lis.length; i++) {
country[i] = lis[i].textContent;
}
console.log(country)
<div id="navbar">
<ul id="sortable1" class="connectedSortable">
<li class="ui-state-default">@item 1</li>
<li class="ui-state-default">@item 2</li>
<li class="ui-state-default">@item 3</li>
<li class="ui-state-default">@item 4</li>
</ul>
</div>

最新更新