私はこのようになりますlist.jsというファイルにJSONオブジェクトを持っている - >のJavaScript/jQueryの/ JSONスプライス多次元配列の明確化
var jsonData = [
{
name: "Friends",
items: [
{
name: "Steve",
job: "pro bowler",
size: "tall",
description: "Steve's my man!"
},
{
name: "Jessica",
job: "HR",
size: "average",
description: "a dear friend"
}
]
},
{
name: "Co-Workers",
items: [
{
name: "Martin",
job: "my boss",
size: "tall",
description: "I don't like him"
},
{
name: "Susan",
job: "Intern",
size: "average",
description: "It's not like I have a crush on her or anything..."
}
]
}
]
と私がいることを、その上にデータを持つことになりますWebページを持っていますJSONの最初の要素に、私は、ボタンのクリックで撮影したデータを追加するためにスプライス()を使用しようとしています>
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="list.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<title></title>
</head>
<body>
<table>
<tr>
<td>
<table>
<tr><td>Name</td><td class="name">Jenkins</td></tr>
<tr><td>Job</td><td class="job">Accountant</td></tr>
<tr><td>Size</td><td class="size">Small</td></tr>
</table>
</td>
<td class="description">average joe.</td>
<td>
<button class="learn">Learn</button>
</td>
</tr>
</table>
<script type="text/javascript">
$(".learn").click(function(){
var data = {
// captures the information relevent to the button in a key-value array
name: $(this).closest("table").find(".name").text(),
job: $(this).closest("table").find(".job").text(),
size: $(this).closest("table").find(".size").text(),
description: $(this).closest("td").siblings(".description").text()
}
console.log(data);
jsonData[0].items.splice(0, 0, {
name: $(this).closest("table").find(".name").text(),
job: $(this).closest("table").find(".job").text(),
size: $(this).closest("table").find(".size").text(),
description: $(this).closest("td").siblings(".description").text()
});
});
</script>
</body>
</html>
(あなたが後でコンソールでそれを見ることができます) - このようになりますオブジェクトの「items」セクション。私が間違っていることを理解する助けが必要なので、助言をいただければ幸いです。ありがとうございました。
ここでコードが機能しています。キャプチャしたデータをitemsセクションのJSONオブジェクトの最初の要素に追加すると、list.jsのJsonData変数にアクセスできますか? –
希望の出力は何ですか? –
@DanPhilip私はlist.js内のitemsセクションの "friends"の下に "jenkins"、 "accountant"、 "small"、 "average joe"の情報を持つ要素があることを確認したいと思います。 – laroy