我有一个列表元素,我想将列表元素添加到具有键值对的对象中。我期望像我曾尝试将元素添加到obj的输出phrase={1:First,2:second}
,obj
但输出为空。
var phrase = {};
var inc = 1;
$("#menu select-li").each(function() {
phrase[inc] = $(this).text();
inc++;
});
console.log(phrase)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="tab-pane fade show active">
<ul class="end-info" id="menu">
<li value="First" class="select-li First">
<span class="caret First"> </span>First</li>
<ul class="nested First">
<li value="First Report">First Report</li>
<li value="Second Report">Second Report</li>
<li value="Third Report">Third Report</li>
</ul>
<li value="second" class="select-li Second">
<span class="caret second"> </span>second</li>
<ul class="nested second">
<li value="First Report">First Report</li>
<li value="Second Report">Second Report</li>
</ul>
</ul>
<div>
你是什么意思"#menu select-li"
?<select-li>
您的代码中没有调用标签。您真正需要的是:
$("#menu .select-li").each();
另外,用于$(this).attr("value")
从value
属性获取内容。
这index
将帮助您获得正确的索引。
您的HTML也无效。正确的是:
var phrase = {};
$("#menu .select-li").each(function(index) {
phrase[index + 1] = $(this).attr("value");
});
console.log(phrase)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="tab-pane fade show active">
<ul class="end-info" id="menu">
<li value="First" class="select-li First">
<span class="caret First"> </span>First
<ul class="nested First">
<li value="First Report">First Report</li>
<li value="Second Report">Second Report</li>
<li value="Third Report">Third Report</li>
</ul>
</li>
<li value="second" class="select-li Second">
<span class="caret second"> </span>second
<ul class="nested second">
<li value="First Report">First Report</li>
<li value="Second Report">Second Report</li>
</ul>
</li>
</ul>
</div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句