与标题状态一样,那里的任何人都有明确的方法来实现这种类型的功能吗?
实施例: 如果你转到http://weewar.com,你会在他们的首页注意到一个每秒都会更新的ajax模块。但是,所有新项目都会添加到列表顶部。我的问题围绕着同样的功能。
有没有人对如何实现此功能有一个简单明了的想法?
到目前为止,我有一个最初创建列表的方法,然后在从服务器中提取最新数据的时间间隔中调用另一个方法。
但是,我一直坚持,如何将新的动态节点添加到列表的顶部。
如果你可以引导我到我能找到这些信息的地方,或者让我知道如何实现这一点,我将非常高兴和感激。
答案 0 :(得分:7)
jQuery会让你很轻松。这是一个例子:
<强>的jQuery 强>
$(document).ready(function(){
$('<div>News 1</div>').prependTo('#textbox');
$('<div>News 2</div>').prependTo('#textbox');
$('<div>News 3</div>').prependTo('#textbox');
$('<div>News 4</div>').prependTo('#textbox');
});
<强> HTML 强>
<div id="textbox"></div>
<强>输出强>
News 4
News 3
News 2
News 1
正如您所看到的,首先添加的新闻会被推倒。
答案 1 :(得分:2)
如果您使用jQuery,可以使用jQuery('#list_ID:first-child').prepend(new_item);
如果你想用旧式的方式做document.getElementById('list_ID').innerHTML = new_item + document.getElementById('list_ID').innerHTML;
或者您可以使用更友好的DOM方法:
var list_item = document.createElement('li');
list_item.innerHTML="Some Text"
document.getElementById('list_ID').insertBefore(list_item, document.getElementById('list_ID').firstChild);
答案 2 :(得分:0)
一种方法是使用javascript重新创建列表。它像list.items = newitem + list.items。很抱歉写一个概念伪代码。如果您需要知道确切的javascript,请给我回复/评论。
您也可以通过以下方式实现相同的内容:
var m =document.getElementById(listElement).options.length;
for(var i = m; i>= 0 ; i = i-1)
document.getElementById(cmbCategory).options[i] = document.getElementById(cmbCategory).options[i-1];
var opt2 = new Option();
opt2.value="100"; /*new value */
opt2.text="New option text";
document.getElementById(listElement).options[document.getElementById(listElement).options.length] = opt2;