【问题标题】:Creating HTML buttons dynamically using HTML, CSS and Javascript [closed]使用 HTML、CSS 和 Javascript 动态创建 HTML 按钮 [关闭]
【发布时间】:2015-06-11 07:59:32
【问题描述】:

我希望在 html 表单上动态添加一个按钮,以便用户在填写表单时可以上传多个文件。 css 设计既灵活又流畅,其目的是每当用户单击“添加文件”链接时,都会添加一个新按钮,以允许用户浏览文件、添加文件并最终上传文件。按钮应该出现在页面的主要内容区域,并且不应溢出页脚区域之外,并且应该垂直呈现,每个按钮出现在换行符上。下面的代码正是这样做的。这个问题与this question 非常相关,但与 css(设计)要求有所不同。

    
        function myFunction() {
	var btn = document.createElement("BUTTON");
	var text = document.createTextNode("Browse..");
	btn.appendChild(text);
	var newbutton = document.getElementById("button"); //new div button   element introduced on html.
  	document.body.insertBefore(btn,newbutton);//insert before method
	
}
    
    /*Mailu*/
        div {
	    padding: 1px 0;
       }
        #header {
        	background: #DDDDDD;
        	
        }
    
        #footer {
        	clear: both;
        	background: #DDDDDD;
        }
    /*add css as suggested here https://stackoverflow.com/a/2038374/2941758*/
        button{display:block;}
    
    
    
        <!DOCTYPE html>
        <html>
        <body>
        <link href="button.css" rel="stylesheet" type="text/css"/>
        <div id = "header">
        <p>Home</p>
        </div>
    
    
        <p>Upload file.</p>
        First name: <input type = "text" name = "Firstname"><p>
        <div id = "button"> <!--added div button on html-->
        <a href="javascript:void(0)" onclick= "myFunction()" > Add file</a>
        </div>
        <div id="footer"><p>footer</p>
    
        </div>
    
    
    
        </body>
        </html>
    
    
  [1]: https://stackoverflow.com/questions/29943352/dynamically-create-element-but-use-a-href-instead-of-a-button-onclick

【问题讨论】:

  • 你在这里混合了一些概念。 CSS“内”没有元素,只有关于文档显示的规则。如果没有应用此规则,则规则目标(“css 选择器”)指定不正确。 (提示:# 用于在 CSS 中指定目标 id)
  • “在 CSS 之外”?没有这样的东西......
  • @doldt 即使我在 css 中添加元素,结果仍然相同
  • @AlexMaina,正如我所说,您不能向 css 添加元素。只有选择器匹配某些元素。
  • 我已经编辑了上面的css并包含了id div @doldt

标签: javascript html css


【解决方案1】:

替换:

#button {

与:

button {

# 是一个id 选择器,这意味着它将样式应用于具有id="button" 的元素。

如果您省略了#,它将匹配所有&lt;button&gt; 元素。

【讨论】:

  • @Cerbrus...做到了。结果保持不变
  • 当然,但是规则现在应用于您动态创建的按钮。如果margin-left 没有改变,那是因为它已经是auto。你到底想对那个按钮做什么?
  • 我正在尝试用它上传文件。我需要它属于 CSS。我已经编辑了上面的 CSS 并包含了 id div。 @Cerbrus
  • “我需要它属于 CSS” 是什么意思?
  • 我希望按钮出现在页脚之前而不是之后
猜你喜欢
  • 2012-10-12
  • 2023-03-07
  • 1970-01-01
  • 2013-10-20
  • 1970-01-01
  • 1970-01-01
  • 2022-12-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多