Javascript 插入一个div 到span里。

用 Javascript 将id="a2" 的div插入到 span里面,且宽度等于span的宽度。
span不能定义ID ,只能标签,要怎么写啊,

<html>
<body>

<span><span>
<div id="a2"></div>

</body>
</html>
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <title> 页面名称 </title>
<style type="text/css">
#a2 {
    background-color: #d00;
    width: 100%;
    height: 20px;
}
span {
    display: inline-block;
    width: 300px;
}
</style>
</head>
<body>
<span></span>
<div id="a2"></div>
<script type="text/javascript">
var span = document.getElementsByTagName("span")[0];
var a2 = document.getElementById("a2");
span.appendChild(a2);
</script>
</body>
</html> 

jquery 用法 是这样的
$("body > span").html("

");

括号里是

 $("body > span").html("
    <div id='a2'></div>
");

可以通过document.getElementsByTagName("span");获取span标签对象,然后再创建div标签,添加进目标span中。
var parent = document.getElementsByTagName("span");
var div = document.createElement("div");
//设置 div 属性,如 id
div.setAttribute("id", "a2");
div.innerHTML = "动态添加div中的内容";
parent.appendChild(div);

这样就可以了!

试试在style里加上这个条件:min-width: 100%;max-width: 100%;

so easy ,不过原则上span是不应该放div的,虽然不会报错,具体看w3cschool规范
代码,随便写的,可能有语法错误,具体看jquery文档:

var $div = $("#a2");
 $div.appendTo($("span")).width($div.parent().width())

span 标签不是默认display=inline的么,如果不改的话,它是根据内容来撑的

利用选其找到span,如var span = document.getElementsByTagName("span")[0],然后就可以加进去了,用append或者html,然后利用字符串拼接拼进去,但是原则上span为非块级元素,是不能容纳块级元素的,但是要硬塞的话,也不会报错,尽量还是按规范来。