我从xml文件中获取数据并为该数据调用一些函数,
所有这些程序都在each(function()
)
我的代码是
$(my_xml_data). find (any_node_from_that_xml) . each(function()
{
any_variable = $(this).attr ( "any_attribute" );
draw_a_graph (any_variable, "id_of_DIV_inwhich_graph_gonna_draw");
}
现在我想在每次迭代中都应该在每个图形中绘制一个“newDIV”。而且这个“new_DIV”必须是50px“正确”的旧版本(意味着我可以编辑新div风格的“左”)。
请帮助
答案 0 :(得分:1)
不是通过JS定位它,而是实际上每个DIV(绘制图形)都有一个CSS类。在CSS文件或<style></style>
部分中,您可以使用以下内容:
div.graph_div {
float: left;
margin-left: 50px;
/* set other styles as needed */
}
在您的代码中,您可以执行以下操作:
var parentDiv = $('#id_of_your_parent_div')
$(my_xml_data). find (any_node_from_that_xml) . each(function()
{
any_variable = $(this).attr ( "any_attribute" );
var graphDiv = $('<div class="graph_div"></div>').appendTo(parentDiv);
draw_a_graph (any_variable, graphDiv);
}
请注意,上面的draw_a_graph
函数将元素作为参数而不是ID。如果无法更改draw_a_graph
的签名,则可以执行以下操作:
var parentDiv = $('#id_of_your_parent_div')
$(my_xml_data). find (any_node_from_that_xml) . each(function()
{
var divID = 'graph_'+(Math.random()*1000);
var graphDiv = $('<div id="'+divID+'" class="graph_div"></div>').appendTo(parentDiv);
draw_a_graph (any_variable, divID);
}
答案 1 :(得分:0)
假设您希望每个连续的div在左侧多50px ...
$(my_xml_data). find (any_node_from_that_xml) . each(function(i,elem)
{
any_variable = $(this).attr ( "any_attribute" );
draw_a_graph (any_variable, "id_of_DIV_inwhich_graph_gonna_draw");
var left = 50 * i; // i is the index of your current node
$("#id_of_DIV_inwhich_graph_gonna_draw").css('left', left+'px');
}