繁体   English   中英

使用Javascript动态创建标签

[英]Creating a Label Dynamically using Javascript

我正在使用Aspnet,并且我需要为一个特定的页面创建数量不确定的标签。 我有一个按钮,该按钮调用使用javascript动态生成标签的函数:

 <script type="text/javascript"> function create() { var newlabel = document.createElement("box1"); ... document.getElementById("MainContent_revenuestreams").appendChild(newlabel); } </script> 

发生的情况是,在创建标签后,他只在网页上显示了2-3秒,然后消失了(我认为回发消除了其内容)。

我想知道如何避免这种情况

document.createElement(type) type必须是html标记名称,例如:div,table,p。

在您的情况下:

var newLabel = document.createElement("label");

然后,您可以为此元素设置属性( for -在标签,ID,名称中最重要)。

最后:

newLabel.appendChild(document.createTextNode("This is where label caption should be"));
document.getElementById("MainContent_revenuestreams").appendChild(newLabel);

一些链接:

http://www.w3schools.com/jsref/met_document_createelement.asp

http://www.w3schools.com/jsref/met_document_createtextnode.asp

如您所见, box1不是document.createElement(type)的有效参数。

您必须返回false才能取消按钮的回发:

<asp:Button runat="server" OnClientClick="javascript: create();return false;"/>

还要注意document.createElement("box1"); 将创建一个<box1></box1>元素,可能不是您想要的。 您应该将"box1"更改为"label""span"

添加OnClientClick =“ addNewlabel();返回false;”

函数addNewlabel(){

var NumOfRow++;
var mainDiv=document.getElementById('MainDiv'); 
var newDiv=document.createElement('div'); 
newDiv.setAttribute('id','innerDiv'+NumOfRow); 
var newSpan=document.createElement('span'); 
newSpan.innerHTML="Your Label Name"; 
// append the span
newDiv.appendChild(newSpan); 
mainDiv.appendChild(newDiv); 

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM