我需要获取我正在创建的div的id 我的代码是:
tab_Div = $ ('#id_of_table')
$(xml).find('something').each(function(i){
value1 = $(this).attr('some_attribute');
newID = "divID_"+i;
var my_row = $('<tr><td>'+value1+'</td><td><div id="'+newID+'"></div></td></tr>').appendTo(tab_Div);
drawBar(value1,newID);
//This function draws progressbar of "value1" in the div whose id is "newID"
});
理论上,此函数应该向具有两个单元格的表添加一行 1.显示值 2.该值的进度条。
但我认为,“Div”的“id”存在问题。并且“newID”是任何obj
的字符串而不是'id'任何人都可以帮我这个吗? 请告诉我如何绘制所需的表格(即在一个单元格中使用进度条)
drawBar()的代码
function drawBar(no,eid)
{
$(eid).progressbar({value: no});
$(eid).css({background: '#99FF66'});
$(eid+" > div").css({background: '#009900'});
$(eid+" > div").css({border: 'none'});
}
拉杆功能只是将一个jqueryUI进度条绘制到它在“eid”收到的DIv中
答案 0 :(得分:1)
您好我已经看过您的代码,发现您还没有关闭td中的div标签
编辑:不仅div标签没有关闭,而且你还传递了tab_Div
tab_div
的错误变量
tab_Div = $ ('#id_of_table')
$(xml).find('something').each(function(i){
value1 = $(this).attr('some_attribute');
newID = "divID_"+i;
var my_row = $('<tr><td>'+value1+'</td><td><div id="'+newID+'" ></div></td></tr>').appendTo(tab_Div);
drawBar(value1,newID);
评论后编辑:
以下是代码:
<body>
<table id="id_of_table" style="width:50%; border:1px solid red; float:left" >
</table>
<script type="text/javascript" >
$(document).ready(function(){
tab_Div = $ ('#id_of_table');
for (var i =1; i<=10; i++){
value1 = "test";
newID = "divID_"+i;
$('<tr><td>'+value1+'</td><td><div id="'+newID+'" >i m inside div </div></td></tr>').appendTo(tab_Div);
}
//drawBar(value1,newID);
});
</script>
</body>
上面的代码工作正常,当你将它附加到表时为什么要将它传递给不需要的变量my_row
。在HTML页面中尝试我的代码,记得添加jQuery文件。
答案 1 :(得分:0)
我发现在javascript中生成足够唯一ID的最简单方法是从Date对象获取属性。
var date = new Date();
var id = "" + date.getHour() + date.getMinutes() + date.getSeconds() + date.getMilliseconds();
跟踪已创建的ID,您可以使用数组
var _ids= new Array();
...
$(xml).each(function(i) {
...
newID = "divID_"+i;
_ids.push(newID);
});
然后,当你需要访问div时,你可以通过数组
答案 2 :(得分:0)
我觉得这段代码错了
<div id="'+newID+'"</div>
请将其更改为
<div id='+newID+'></div>