首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我只想在Javascript中使用appendchild方法在标签之间放置一些文本

我只想在Javascript中使用appendchild方法在标签之间放置一些文本
EN

Stack Overflow用户
提问于 2018-09-15 02:22:07
回答 1查看 48关注 0票数 -1

下面的代码是一段javascript代码,用于在单击浏览器的同时更改body标记中的文本和背景属性。我只是遵循了w3school.com中的规则,实际上,我正在做与示例相同的操作,但我的规则不起作用,我也找不到自己的错误。请帮帮我。

代码语言:javascript
复制
var helloDiv = document.createElement("div");
var helloText = document.createTextNode("hi.");
helloDiv.appendChild(helloText);
var bodyntext = document.getElementsByTagName("body").appendChild(helloDiv);
var complementary = new Array();
var j = 0;

window.onclick = function(){

    var background_color; 
    var body = document.getElementsByTagName("body")[0];
    // var color = new Array();
    var result = null;

    var number = Math.round(Math.random()*0xFFFFFF);
    for(var i = 0; i > 3; i++)
    {
        complementary[i] = (255-(number.slice(j,j+1).toString(10))).toString(16);
        j = j + 2;
    }

    var clnumber = (complementary[0]+complementary[1]+complementary[2]).toString(16);

    body.style.backgroundColor = "#"+ number.toString();
    bodyntext.style.color = "#"+ clnumber.toString();


}
EN

回答 1

Stack Overflow用户

发布于 2018-09-15 02:29:12

使用document.getElementsByTagName("body")可以获得预期的结果,因为getElementsByTagName()方法以NodeList对象的形式返回具有指定标记名的文档中所有元素的集合。

代码语言:javascript
复制
var helloDiv = document.createElement("div");
var helloText = document.createTextNode("hi.");
helloDiv.appendChild(helloText);
var bodyntext = document.getElementsByTagName("body")[0].appendChild(helloDiv);
var complementary = new Array();
var j = 0;

window.onclick = function(){

    var background_color; 
    var body = document.getElementsByTagName("body")[0];
    // var color = new Array();
    var result = null;

    var number = Math.round(Math.random()*0xFFFFFF);
    for(var i = 0; i > 3; i++)
    {
    complementary[i] = (255-(number.slice(j,j+1).toString(10))).toString(16);
        j = j + 2;
    }

    var clnumber = (complementary[0]+complementary[1]+complementary[2]).toString(16);

    body.style.backgroundColor = "#"+ number.toString();
    bodyntext.style.color = "#"+ clnumber.toString();


}

codepen - https://codepen.io/nagasai/pen/NLBXJE

有关更多详细信息,请参阅此链接- https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByTagName

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52337410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档