Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript数据可以附加到HTML元素吗?_Javascript_Arrays - Fatal编程技术网

JavaScript数据可以附加到HTML元素吗?

JavaScript数据可以附加到HTML元素吗?,javascript,arrays,Javascript,Arrays,我有一个数组(如下) 我需要做的是传递另一条信息并将其附加到身体标签上。所以如果加载了test1.jpg,我需要将“light”传递给body标签,如果选择了其他图像,我需要传递“dark”。这样做的目的是让CMS中的用户根据图像选择一个浅色或深色主题。图像将随机输出。在您的数组中,您可以使用分隔符添加一些字符串 var img_name = new Array("images/test.jpg:light", "images/test.jpg:dark"); 例如,我使用了:作为分隔符。在使

我有一个数组(如下)


我需要做的是传递另一条信息并将其附加到身体标签上。所以如果加载了test1.jpg,我需要将“light”传递给body标签,如果选择了其他图像,我需要传递“dark”。这样做的目的是让CMS中的用户根据图像选择一个浅色或深色主题。图像将随机输出。

在您的数组中,您可以使用分隔符添加一些字符串

var img_name = new Array("images/test.jpg:light", "images/test.jpg:dark");

例如,我使用了
作为分隔符。在使用方法中,您可以根据分隔符
拆分数据,并相应地使用这两项。

您可以在数组中存储对象:

// I'm using an Array literal instead of a Array constructor here, because it's shorter
var img_name = [ {image:"images/test.jpg", style:"light"}, {image:"images/test.jpg", style:"dark"} ]; 
var imgTotal = img_name.length;
var rnd_no = Math.floor(imgTotal*Math.random());
var ojimg = img_name[rnd_no].image;
var ojstyle = img_name[rnd_no].style;

嵌套数组怎么样:

var img_name = [["images/test1.jpg", "light"], ["images/test2.jpg", "dark"]]];
var imgTotal = img_name.length;
var rnd_no = Math.floor(imgTotal*Math.random());
var ojimg = img_name[rnd_no][0];
var cssclass = img_name[rnd_no][1];

您可以使用图像srcs字符串映射到主题名称。然后可以使用选定的图像src直接访问主题名称

var themeMap = {};
themeMap["testImg1.jpg"] = myDarkTheme; //myDarkTheme can be a full object or just a string
然后你就可以做了

getTheme(img_name[rnd_no]);

function getTheme(imgSrcString)
{
    return themeMap[imgSrcString];
}
getTheme(img_name[rnd_no]);

function getTheme(imgSrcString)
{
    return themeMap[imgSrcString];
}