我正在使用javascipt动态添加元素:
$('.marker').append('<div class="container" id="id' + counter + '" ><input type="text" name="textbox" id="textbox' + counter + '" value="" ></div>');
counter++;
我需要有这些添加元素的位置(偏移x和y)。用户可以添加和删除这些元素。然后它应该被保存,我需要有最终的元素位置列表。
我尝试过使用jquery offset()
函数,但它只适用于不动态添加的元素。
是否可以检索那些动态添加元素的偏移量?如果是,那怎么样?
答案 0 :(得分:4)
不确定你是否解释得不好,因为下面的例子就是你所要求的......
http://jsfiddle.net/johncmolyneux/zXSuh/
只需打开控制台即可运行它。
以下是在控制台中显示偏移值的代码...
$(".container").each(function() {
console.log($(this).offset().top);
});
答案 1 :(得分:2)
var div = $("<div>", {
"class": "container",
id: "id" + counter
}).append($("<input>", {
type: "text",
name: "textbox",
id: "textbox" + counter
}));
$(".marker").append(div);
var offset = div.offset();
console.log(offset.left, offset.top);
counter++;
答案 2 :(得分:0)
您是否尝试过将变量分配给动态创建的元素,如下所示:
var el = $('<div class="container" id="id' + counter + '" ><input type="text" name="textbox" id="textbox' + counter + '" value="" /></div>');
$('.marker').append(el);
counter++;
然后你应该可以使用el.offset():
el.offset();