为每个元素提供唯一的id并使用jquery访问它们

时间:2012-04-09 11:08:13

标签: jquery html css

我试图根据搜索的用户输入打印实时输出。所以我试图将每个结果的标题添加到某个宽度和高度的div元素。我想将每个div元素的条目限制为8.因此对于不同的搜索,要显示的div的数量会有所不同。 我使用下面的代码,因为#test不是唯一的,所有输出标题将显示在一个div而不是每个包含8个标题的div ..我想知道我们创建一个具有唯一id的div并使用jquery函数为这些独特的div添加标题。我这样做吗?

for(var count5=0;count5

{ $(".panel1").append('<div id="test"  style="width:200px; height:120px; background-color:#000000; float:left; margin-left:10px; margin-top:10px; color:#ffffff;"></div>');

    for(count4=num; count4<num1; ++count4)
    {   
             $("#test").append(prsnArray[count4].term + '<br>');
    }
num=num+8
num1=num1+8}

2 个答案:

答案 0 :(得分:0)

不要将你的person数组中的术语附加到id为'test'的div(它不应该是唯一的),而是将它们附加到新创建的div。

 var $newDiv = $('<div style="width:200px; height:120px; background-color:#000000; float:left; margin-left:10px; margin-top:10px; color:#ffffff;"></div>') ; 
 $(".panel1").append($newDiv);

 for(count4=num; count4<num1; ++count4){   
    $newDiv.append(prsnArray[count4].term + '<br>');
 }

答案 1 :(得分:0)

拳头关闭,修复你的标记! <br>看起来很丑,你应该使用列表或定义列表。

对于div的id,您可以使用全局变量作为计数器,并使用id(例如

)来对其进行处理
myvar++;
$('#test'+myvar).doSth(...)

或者你可以在div中添加一个类

<div id="test1" class="mydivs"> ... </div>

然后

var newid = $('.mydivs').length + 1;
while($('#test'+newid).length > 0){newid++;}