Javascript 添加一个<;部门>;5日前<;李>;并添加另一个</部门>;在最后一次<;李>;从名单上?
我怎样才能让它成为可能,比如说我有一个17项的无序列表。现在我想在第5项之前添加一个div标记,结束div将位于列表的最后一项之后。结果会像这样Javascript 添加一个<;部门>;5日前<;李>;并添加另一个</部门>;在最后一次<;李>;从名单上?,javascript,list,Javascript,List,我怎样才能让它成为可能,比如说我有一个17项的无序列表。现在我想在第5项之前添加一个div标记,结束div将位于列表的最后一项之后。结果会像这样 <ul> <li><img src="http://static.flickr.com/66/199481236_dc98b5abb3_s.jpg" width="75" height="75" alt="" /></li> <li><img
<ul>
<li><img src="http://static.flickr.com/66/199481236_dc98b5abb3_s.jpg" width="75" height="75" alt="" /></li>
<li><img src="http://static.flickr.com/75/199481072_b4a0d09597_s.jpg" width="75" height="75" alt="" /></li>
<li><img src="http://static.flickr.com/57/199481087_33ae73a8de_s.jpg" width="75" height="75" alt="" /></li>
<li><img src="http://static.flickr.com/77/199481108_4359e6b971_s.jpg" width="75" height="75" alt="" /></li>
<div>
<li><img src="http://static.flickr.com/58/199481143_3c148d9dd3_s.jpg" width="75" height="75" alt="" /></li>
<li><img src="http://static.flickr.com/72/199481203_ad4cdcf109_s.jpg" width="75" height="75" alt="" /></li>
<li><img src="http://static.flickr.com/58/199481218_264ce20da0_s.jpg" width="75" height="75" alt="" /></li>
<li><img src="http://static.flickr.com/69/199481255_fdfe885f87_s.jpg" width="75" height="75" alt="" /></li>
<li><img src="http://static.flickr.com/60/199480111_87d4cb3e38_s.jpg" width="75" height="75" alt="" /></li>
<li><img src="http://static.flickr.com/70/229228324_08223b70fa_s.jpg" width="75" height="75" alt="" /></li>
</div>
</ul>
我不能硬编码,因为这个列表将由php函数生成。有什么办法吗?多谢各位
添加:我正试图隐藏div中的那些项目。在某处会有另一个按钮,这样当您单击这些项目时就会显示出来。看起来您试图将一些常见功能(或者样式?)与该
中除第一个之外的所有4个项目相关联。也许您可以使用类
属性或其他什么
我不知道你到底想实现什么,但类似这样的事情可能会有所帮助:
var ul = //...
var items = ul.getElementsByTagName("li");
for (var i = 4; i < items.length; i++) {
// do whatever you need to do here, e.g.:
items[i].className += " foo";
}
然后只需迭代返回的数组即可执行显示/隐藏逻辑
可以预见的是,我也会建议你研究一下(不知道你是否能够使用它)。这会使这类事情变得容易得多。例如,您可以通过以下方式实现上述所有功能:
$("ul>li:gt(3)").show();
看起来您正试图将一些常见功能(或者样式?)与该
中除第一个之外的所有4项相关联。也许您可以使用类
属性或其他什么
我不知道你到底想实现什么,但类似这样的事情可能会有所帮助:
var ul = //...
var items = ul.getElementsByTagName("li");
for (var i = 4; i < items.length; i++) {
// do whatever you need to do here, e.g.:
items[i].className += " foo";
}
然后只需迭代返回的数组即可执行显示/隐藏逻辑
可以预见的是,我也会建议你研究一下(不知道你是否能够使用它)。这会使这类事情变得容易得多。例如,您可以通过以下方式实现上述所有功能:
$("ul>li:gt(3)").show();
虽然你试图做的事情本身是错误的,但我只是在回答这个问题。使用这个(这是非常不言自明的):
其中,i
是要从中开始的标签号。这不是for
循环的原因是每次删除元素时,长度都会减少。如果ul
不是唯一的一个,给它一个ID,然后使用document.getElementById()
。虽然您试图做的事情本身是错误的,但我只是在回答这个问题。使用这个(这是非常不言自明的):
其中,i
是要从中开始的标签号。这不是for
循环的原因是每次删除元素时,长度都会减少。如果ul
不是唯一的一个,那么给它一个ID并使用document.getElementById()
。提示“使用jQuery”答案…这不是有效的HTML,您不能将LI的父项作为DIV@Jim:你说得好像这是件坏事@斯拉斯:我知道这不是一个有效的方法。但我想知道这是否可能。它无效,因此很可能会被忽略,或者干脆不管你想做什么都不起作用。提示“使用jQuery”回答团队…这不是有效的HTML,你不能让LI的父母作为DIV@Jim:你说得好像这是件坏事@斯拉斯:我知道这不是一个有效的方法。但是我想知道它是否可能。它是无效的,因此很可能会被忽略,或者不管你想做什么,它都不起作用。是的,我用一个沉思的jquery来做其他事情,你的方式是有意义的,并且保持html的有效性。谢谢你。是的,我用一个沉思的jquery来做其他的事情,你的方式是有意义的,并且保持了html的有效性。谢谢你。