如何使用JavaScript在div中创建输入标记
如何在div中创建输入标记如何使用JavaScript在div中创建输入标记,javascript,html,dom,Javascript,Html,Dom,如何在div中创建输入标记 <!DOCTYPE html> <html> <head> <script> var x = document.createElement("INPUT"); x.setAttribute("type", "text"); document.body.appendChild(x); </script&
<!DOCTYPE html>
<html>
<head>
<script>
var x = document.createElement("INPUT");
x.setAttribute("type", "text");
document.body.appendChild(x);
</script>
</head>
<body>
<div>
Test
</div>
</body>
</html>
var x=document.createElement(“输入”);
x、 setAttribute(“类型”、“文本”);
文件.正文.附件(x);
试验
如何将输入标记添加到div假设您的目标div的ID为,例如,
target
,您可以像这样使用document.createElement
:
var div = document.getElementById("target");
var input = document.createElement("input");
//setting the input's properties, e.g.:
input.type="text";
input.name="my_input";
//adding the input to the div
div.appendChild(input);
注意:要使getElementById
正常工作,您需要将脚本放在文件末尾,或将其包装在onload
事件中,例如:
onload = function() {
//insert code here
}
假设您的目标div的ID为,例如,
target
,您可以像这样使用document.createElement
:
var div = document.getElementById("target");
var input = document.createElement("input");
//setting the input's properties, e.g.:
input.type="text";
input.name="my_input";
//adding the input to the div
div.appendChild(input);
注意:要使getElementById
正常工作,您需要将脚本放在文件末尾,或将其包装在onload
事件中,例如:
onload = function() {
//insert code here
}
首先,您需要以某种方式在所有
div
中识别特定的div
(可能很多)。您可以通过多种方式实现这一点,可能是最常见的方式:为div
元素指定class
属性和/或id
属性,如下所示:
input
元素的div
。那么您的div代码将如下所示:
<div class="test-class">
Test
</div>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="test-class">
Test
</div>
<script>
var x = document.createElement("INPUT");
x.setAttribute("type", "text");
document.body.querySelector(".test-class").appendChild(x);
</script>
</body>
</html>
不幸的是,这并不是代码中需要解决的所有问题。由于javascript和html是从上到下逐行解释的,因此在脚本执行时,所选的
div
元素尚未创建
我们可以通过移动html正文底部的脚本来轻松解决这个问题。这样,如果我们需要使用javascript操作页面,那么页面上的所有内容都将可见。完整的解决方案如下所示:
<div class="test-class">
Test
</div>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="test-class">
Test
</div>
<script>
var x = document.createElement("INPUT");
x.setAttribute("type", "text");
document.body.querySelector(".test-class").appendChild(x);
</script>
</body>
</html>
试验
var x=document.createElement(“输入”);
x、 setAttribute(“类型”、“文本”);
document.body.querySelector(“.testclass”).appendChild(x);
首先,您需要以某种方式在所有div
中识别特定的div
(可能很多)。您可以通过多种方式实现这一点,可能是最常见的方式:为div
元素指定class
属性和/或id
属性,如下所示:
input
元素的div
。那么您的div代码将如下所示:
<div class="test-class">
Test
</div>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="test-class">
Test
</div>
<script>
var x = document.createElement("INPUT");
x.setAttribute("type", "text");
document.body.querySelector(".test-class").appendChild(x);
</script>
</body>
</html>
不幸的是,这并不是代码中需要解决的所有问题。由于javascript和html是从上到下逐行解释的,因此在脚本执行时,所选的
div
元素尚未创建
我们可以通过移动html正文底部的脚本来轻松解决这个问题。这样,如果我们需要使用javascript操作页面,那么页面上的所有内容都将可见。完整的解决方案如下所示:
<div class="test-class">
Test
</div>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="test-class">
Test
</div>
<script>
var x = document.createElement("INPUT");
x.setAttribute("type", "text");
document.body.querySelector(".test-class").appendChild(x);
</script>
</body>
</html>
试验
var x=document.createElement(“输入”);
x、 setAttribute(“类型”、“文本”);
document.body.querySelector(“.testclass”).appendChild(x);
您的脚本需要存在于元素之后,或者存在于延迟执行的事件处理程序中,例如加载或本机就绪事件。在此之后,您只需要将div作为附加到它的目标,而不是脚本的主体。您的脚本需要存在于元素之后,或者存在于延迟执行的事件处理程序中,例如加载或任何本机就绪事件。之后,您只需要将div作为附加到它的目标,而不是body@PriyanshuGhosh是的,如果你愿意,你可以使用类名而不是ID。基本上,你需要任何能“找到”你的目标div的选择器。@Taplar谢谢你指出,是的,这不应该出现在HTML文件顶部的内联脚本中。@PriyanshuGhosh是的,如果您愿意,可以使用类名而不是ID。基本上,您需要任何可以“找到”目标div的选择器。@Taplar感谢您指出,是的,这不应该出现在HTML文件顶部的内联脚本中。。