Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.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 无法使用';innerHTML';按钮之间_Javascript_Html - Fatal编程技术网

Javascript 无法使用';innerHTML';按钮之间

Javascript 无法使用';innerHTML';按钮之间,javascript,html,Javascript,Html,我有一个javascript,用于在两个按钮之间添加空格,我刚刚创建并插入了一个div: document.getElementById("divID").appendChild(buttonONE); document.getElementById("divID").innerHTML + =" "; document.getElementById("divID").appendChild(buttonTWO); 两个按钮之间有一个空格,但始终只有一个空格,就像您只按

我有一个javascript,用于在两个按钮之间添加空格,我刚刚创建并插入了一个
div

document.getElementById("divID").appendChild(buttonONE);

document.getElementById("divID").innerHTML + ="           ";

document.getElementById("divID").appendChild(buttonTWO);
两个按钮之间有一个空格,但始终只有一个空格,就像您只按了一次空格键一样

如何将这些空间增加到一个以上


谢谢

您必须为每个空间使用
(非中断空间),以防止浏览器将其显示为一个空间

  • HTML中的所有空白,包括换行符,都会缩减为一个空格。这是规定

  • 不要使用空格。它们并不精确。在CSS中使用元素并为其指定宽度、填充或边距

  • 如果必须使用空格,请使用
    。这是一个不间断的空间,所有这些都会打印出来。但实际上,不要使用它


  • CSS解决方案呢?您可以为元素指定ID并使用ID选择器:

     #buttonTWO
        {
           margin-left: 20px;
        }
    
    或者,如果无法使用CSS,请将其与Javascript一起设置:

    document.getElementById("divID").appendChild(document.getElementById("buttonONE"));
    var buttonTwo = document.getElementById("buttonTWO");
    buttonTwo.style.marginLeft = "20px";
    document.getElementById("divID").appendChild(buttonTwo);
    

    (这是一个迟来的答案,但它将使其他登陆此页面的人受益,就像我在寻找解决方案时所做的那样)

    使用html的pre标记解决了我的问题


    我正在显示一个数组,该数组有时会有多个空间,我需要保留该数组而不将其缩减为单个空间。

    如果您不查找指定的长度,请使用html实体

    否则请使用
    左边距:10px
    在JavaScript中使用:
    window.onload=function(){
    var element=document.getElementById(“元素Id”);
    element.style.marginLeft=“20px”

    您不需要
    window.onload=function(){}
    ,但您需要确保函数在加载后才执行(您可能知道)

    var-b;
    b=0;
    函数move(){
    var a=document.getElementById(“示例”);
    b+=20;
    a、 style.marginLeft=b+“px”//要移动指定的金额,只需删除变量b,b=0,b+=20;然后将a.style.marginLeft=b+“px”替换为a.style.marginLeft=“[amount]”;
    }
    按钮{
    大纲:0;
    边界半径:35%;
    边框宽度:0;
    背景色:红色;
    颜色:白色;
    光标:指针;
    }
    按钮:悬停{
    颜色:红色;
    背景颜色:蓝色;
    }
    a{
    游标:默认值;
    边界半径:10%;
    边界宽度:10%;
    }
    
    例子
    将文本向左移动20px。
    例子
    我相信您之所以会得到这样的结果,是因为html剥离空间的性质

    您可以在呈现文本的任何元素上使用whitespace:pre-css属性

    <div id="divID" style="white-space: pre"></div>
    
    
    

    我对你的应用程序了解不多,但也许这就足够了。

    让我问你,为什么
    ?这些有什么问题吗?感谢空间是不可预测的。字体大小在所有浏览器中都不相同,所以如果你计算一个精确的空格数以达到特定的宽度,在另一次浏览中会有所不同r、 此外,如果出于某种原因更改了字体或字体大小,那么所有这些空格的宽度也会更改。那么使用“”标记如何?类似的:很好,我可以比空格更精确地移动文本/div。