js动态添加与删除ul中的li

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js动态添加与删除ul中的li相关的知识,希望对你有一定的参考价值。

使用js,实现对<ul>
<li><span>华南理工大学<input type="hidden" id="filenameid1"/></span>
<a href="#" id="move1" onclick="delFile(this);"><img src="images/no.png" /></a></li>
<li><span>华s大学</span><a href="#"><img src="images/no.png" /></a></li>
</ul> 中的<li>动态添加/删除

1、使用jquery脚本库,因此先引入jquery脚本文件。

2、html代码里,就是一个ul列表,里面有二个img控件,还有一个按钮。要注意的是给ul加了一个样式名。

3、使用jquery,先为按钮添加一个点击事件。

4、在点击事件函数里,我们直接使用js代码就能获取到img控件了,var imgs = $(".jy_ul li img");

这就是使用jquery的方便,ul列表的样式名,然后按层次 li img的控件名,就能获取到图片控件了。

5、用alert输入图片的src属性来验证获取到的数据是否准确。因为有两个图片控件,所以代码里获取到的是一个数组,我们输出第二个图片的src。

6、运行页面,可以看到有二个图片和一个按钮,点击按钮。

7、点击后弹出了第二张图片的src属性,对比代码,数据正确。

参考技术A <ul id="s">
<li>11111111111111111</li>
<li>22222222222222222</li>
<li>33333333333333333</li>
<li>44444444444444444</li>
<li>55555555555555555</li>
</ul>

<input type="button" value="删除第2行" onclick="del(2);">
<input type="button" value="删除第3行" onclick="del(3);">
<input type="button" value="添加到最后行" onclick="add(-1,'最后行');">
<input type="button" value="添加到第二行" onclick="add(2,'第二行');">
<script>
function del(n)

var s=document.getElementById('s');
var t=s.childNodes.length;
for (var i=0;i<t;i++)

if (i==n-1)

s.removeChild(s.childNodes[i]);



function add(n,txt)

var s=document.getElementById('s');
var t=s.childNodes.length;
var li= document.createElement("li");
li.innerHTML=txt;
for (var i=0;i<t;i++)

if (n==-1)

s.appendChild(li);

else if (i==n-1)

s.insertBefore(li,s.childNodes[i]);



</script>本回答被提问者和网友采纳
参考技术B 添加删除多麻烦,给个li个id,然后控制他的显示和隐藏不就好了。

JS动态增加删除UL节点LI及相关内容示例


<ul id="ul">

<li id=1>11111111111111111<a href="javascript:del(1);">del</a></li>
<li id=2 >22222222222222222<a href="javascript:del(2);">del</a></li>
<li id=3>33333333333333333<a href="javascript:del(3);">del</a></li>
<li id=4>44444444444444444<a href="javascript:del(4);">del</a></li>
<li id=5>55555555555555555<a href="javascript:del(5);">del</a></li>

</ul>
<select name="car_type" id="car_type" onchange="add_car(this);" >
<option value="">please select</option>
<option value="car_11">11111</option>
<option value="car_22">22222</option>
<option value="car_33">33333</option>
<option value="car_44">44444</option>
</select >
<input type="text" id="ul_value" onclick="getulvalue();" name="ul_value" value="">
<script>

function $$(id){
var obj=document.getElementById(id);
return obj;
}

function del(n) {
$$(‘ul‘).removeChild($$(n));
}

function add(id,txt) {
var ul=$$(‘ul‘);
var li= document.createElement("li");
var href_a = document.createElement("a");
href_a.href="javascript:del(‘"+id+"‘);";
href_a.innerHTML ="del";
li.innerHTML=txt;
li.id=id;
li.appendChild(href_a);
ul.appendChild(li);
}

function add_car(obj){
//chk ul childNodes length
if($$(‘ul‘).childNodes.length<3){
var flag=true;
var ul_obj=$$(‘ul‘).childNodes;
var car_id=obj.options[obj.selectedIndex].value;
var txt=obj.options[obj.selectedIndex].text;
if(car_id!=null&&car_id!=""){

for(var i=0;i<ul_obj.length;i++){

if(ul_obj[i].id==car_id){
alert("已经添加!");
flag=false;
}
}

if(flag){
add(car_id,txt);
}
}

}else{
alert("只允许加入三个值!");
return;
}
}

function getulvalue(){
if($$(‘ul‘).childNodes.length==0){
alert("请选择相关内容!");
return;
}else{
var txt="";
for(var i=0;i<$$(‘ul‘).childNodes.length;i++){
txt+=$$(‘ul‘).childNodes[i].id+",";
}
$$("ul_value").value=txt;
}

}
</script> 

 

 

 

来源:http://www.jb51.net/article/50294.htm

 

 

 

 

 

 

 

js怎么获取ul li 的id

document.getElementsByTagName("li")[index].id

如何用JavaScript获得ul中的li的个数?

document.getElementById(‘myul‘).getElementsByTagName(‘li‘).length

 

HTML DOM removeChild() 方法

var list=document.getElementById("myList");
list.removeChild(list.childNodes[0]);




















































































以上是关于js动态添加与删除ul中的li的主要内容,如果未能解决你的问题,请参考以下文章

li元素后动态添加ul元素

使用addeventlistener为js动态创建的元素添加事件监听

jquery 怎么获得动态添加后的子元素个数

JS动态增加删除UL节点LI及相关内容示例

关于js中的事件委托小案例

jquery 动态添加li的索引值