十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
// 你好,以在 BODY 生成 DIV 为例子给你讲一个吧
创新互联是一家专注网站建设、网络营销策划、重庆小程序开发、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立十多年以来,已经为1000+不锈钢雕塑各业的企业公司提供互联网服务。现在,服务的1000+客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。
script src="" type="text/javascript"/script
script type="text/javascript"
var create = 4; // 定义一个数字,用于指定要生成多少个DIV
var idStr = ""; // 这里是生成之后的所有 div 的 id 字符串
var idList = new Array(); // 这里是生成之后,所有 div 的 id 数组
$(function() {
// 这里循环生成 create 个 div
for (var i = 1; i = create; i++) {
// 这里指定 id = "div" + i,对应为 div1 div2 div3
var id = "div" + i;
var div = $("div id='" + id + "'" + id + "/div");
$("body").append(div);// body 拼接一个 div
idStr += id + " "; // 拼接 id 字符串
idList.push(id); // 把 id 放到数组里面
}
// 如果要获得所有生成的 div 的 ,可以提供两种方法,第一种,在生成的时候,拼接字符串或者放到数组里面,第二种,在生成完 div 之后,遍历获取
// 1、这里通过循环获取 id
var eachId = "";
$("body div").each(function() {
// 获得div的id属性,拼接起来
eachId += $(this).attr("id") + " ";
})
alert("我是each出来的id:" + eachId);
// 2、这里是生成的时候拼接的
alert("我是带出来的id:" + idStr);
// 3、这里是通过数组
var listId = "";
for (var key in idList) {
// 获取数组中存储的 id
listId += idList[key] + " ";
}
alert("我是数组遍历的id:" + listId);
})
/script
那个。。
在动态向DOM中添加元素的时候,不可以使用标签的方式绑定事件。
因为标签绑定事件是在页面加载的时候处理的,而你动态添加的元素在页面加载的时候并不存在,更不要说读取标签绑定事件了。
这里,既然你用到了jquery,为什么不用jquery的方式去绑定事件呢?
div.attr("onmousedown","moveInit(this,event);");
div.attr("onmousemove","Move(this,event);");
div.attr("onmouseup","stopMove()");
div.attr("onmouseout","stopMove()");
这一段,改为:
// 由于目标函数需要参数,所以这里使用匿名函数来调用
div.mousedown(function(event){
moveInit(this,event);
});
div.mousemove(function(event){
Move(this,event);
});
div.mouseup(stopMove);
div.mouseout(stopMove);
!DOCTYPE HTML
html
head
titleyugi/title
meta charset=UTF-8 /
style type="text/css"
/style
script type="text/javascript" src="jquery-1.8.0.min.js"/script
script type="text/javascript"
jQuery (function ($)
{
var body = $ ("body");
$ (new Array (6)).each (function (i)
{
$ (new Array (3)).each (function (j)
{
body.append ($ ("div菜单" + (i * 3 + j + 1) + "/div").css (
{
display: "inline-table",
width: "100px",
textAlign: "center",
cursor: "pointer",
margin: "0px 0px 10px 10px",
border : "3px solid " + [
"red", "green", "blue"
][j % 3]
}));
});
body.append ("br / ");
});
});
/script
/head
body
body
/body
/html
纯JAVASCRIPPT创建
(1):document.getElementById("要创建DIV位置的ID").innerHTML='divdiv里面的内容/div';
(2):
var createDiv=document.createElement("div");
createDiv.title="div title.";
createDiv.id="id";
createDiv.class="class";
createDiv.innerHTML="div里面的内容!";
document.body.appendChild(createDiv);//添加到BODY节点中
JQUERY
$("#要创建DIV位置的ID").html('divdiv里面的内容/div');
首先,只讲思路方法不讲具体代码,别人直接给的永远不是自己的
创建新标签比较简单百度下就知道了就不说了,然后至于定位到鼠标位置,简单介绍下思路第一点,用clientX和clientY获取鼠标的坐标即位置,然后给新建的div添加定位属性,再将之前获取的鼠标位置的值赋值给div的top和left
ok,思路就这样
利用jq的append()追加函数即可实现,如:
html:
div class="main"
input type="button" value="添加" class="btn" /
/div
JQ:
$(document).ready(function(){
$(".btn").click(function(){
var html = 'div style="width:200px; height:30px; border:1px dashed red; margin-bottom:20px;"/div';
$(".main").append(html);
});
});