我有一个包含一些字符串的数组,我选择一个随机数组。我需要<body class="MY_STRING">
上的这个值。我怎么能这样做?
我尝试过类似的事情:
document.write('<body class="' + my_string + '">')
但没有用。
更新 这个问题是错误的。我怀疑的不是随机因素。这个问题解释得更好(并且包含了我需要的答案):
Setting document.body.className as a variable
我不知道如何解释这个问题。 Ty的答案。
答案 0 :(得分:3)
请勿使用document.write
覆盖DOM。
使用:
document.body.setAttribute('class',my_string);
答案 1 :(得分:2)
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
var classes = ['green', 'red', 'blue', 'black', 'purple'],
randomClass = classes[getRandomInt(0, classes.length - 1)];
document.body.className = randomClass;
答案 2 :(得分:1)
声明您的类列表数组。我们将随机选择一个班级。
var classList = ["first", "second", "third", "fourth"];
然后获取该数组的随机密钥:
var randomKey = Math.floor(Math.random() * classList.length);
现在,选择tag并从classList数组中添加随机类属性:
var bodyTag = document.getElementsByTagName("body");
bodyTag[0].setAttribute("class", classList[randomKey]);
答案 3 :(得分:0)
您可以使用脚本标记在事后更改类值。
<body id="layout">
<div>stuff</div>
<script type="text/javascript>
document.getElementById("layout").className = "my_string";
</script>
</body>
答案 4 :(得分:0)
var random = Math.floor(Math.random() * MAX) + MIN;
document.body.className = "body" + random;
将上述代码放在您想要的任何地方。必须在DOM加载之后。
创建名称为body1,body6等的CSS类...(取决于你的MIN和MAX)