首页 > 解决方案 > 为每个元素的文本节点创建一个变量

问题描述

我正在尝试为集合中的每个元素创建一个变量。我有一个这样的 HTML 结构:

<div id="notes">
    <p>Example Text 1</p>
    <p>Example Text 2</p>
    <p>Example Text 3</p>
</div> 

我想将每个元素的文本存储在一个单独的变量中。在这种情况下,元素是动态生成的,所以有时有 2 个元素,有时还有更多。

到目前为止我已经尝试过:

var $counter= 0;
var variableNote = {};
$('#notes p').each(function(){
   $counter += 1;
   variableNote["newNote"+$counter] = $("#notes p").text();
   console.log(newNote1);
});

我做错了什么?

标签: javascriptjqueryhtml

解决方案


对象属性不是变量。要访问它们,您需要引用该对象。

此外,您没有在循环中使用迭代的当前元素。

var variableNote = {};

$('#notes p').each(function(index) {
    variableNote["newNote" + (index+1)] = $(this).text();
});

console.log(variableNote["newNote1"]);

推荐阅读