gpt4 book ai didi

javascript - 从 HTML 创建 JavaScript 数组

转载 作者:行者123 更新时间:2023-12-03 11:39:50 24 4
gpt4 key购买 nike

我正在迭代一个数组来显示一些数据,同时创建另一个数组,该数组将用于创建 JSON,然后将其分配给 JavaScript 变量。

<?php
$otherStuff=array();
foreach($myArray AS $row)
{
echo("<tr data-id='{$row['id']}'><td>{$row['firstname']}</td><td>{$row['firstname']}</td></tr>");
$otherStuff[$row['id']]=$row['otherStuff'];
}
echo('<script type="text/javascript">var otherStuff='.json_encode($otherStuff).';</script>');
?>

这似乎不是完成这项任务的一种非常干净的方法。相反,我想知道是否最好创建一些隐藏的 HTML,然后客户端解析它以创建所需的 JavaScript 变量。

这样做可能吗?这是个好主意,还是我应该做点别的事情?如果可以的话,如何实现?

谢谢

最佳答案

这是一个基本示例:

$arr = array('stuff' => 'goes here');

echo "<div data-other-stuff='" . htmlspecialchars(json_encode($arr)) . "'></div>";

产品:

<div data-other-stuff='{&quot;stuff&quot;:&quot;goes here&quot;}'></div>

http://codepad.org/Bq5GZcVS

$('div').each(function ea(){
// Some browsers/versions do not support JSON.parse(), try json2.js
var data = $(this).attr('data-other-stuff'),
_data = JSON.parse(data);

console.log(data, _data);
});

产生(在控制台中):

'{"stuff":"goes here"}' Object {stuff: "goes here"} 

(第一个实际上是一个字符串,但我添加了单引号以使其显而易见。)

http://jsfiddle.net/0mv44jvd/1

就像任何 JSON 编码一样,一旦使用它,您就必须将其转换为数组或对象。但这仍然有效。

关于javascript - 从 HTML 创建 JavaScript 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26326777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com