我需要获取最后一个li元素的id,其中li id不是特定的单词
var lastChildID = document.getElementById("li_hold").lastChild.id
这给了我最后一个li id,但我不知道怎么说:得到最后一个li id,其中id不是例如:hello
答案 0 :(得分:3)
你可以像这样获得ul li的最后一个id
var id = $("ul#list li:last-child").attr("id");
if(id!="hello"){
alert(id);
}
<ul id="list">
<li id="foo">1</li>
<li id="foo1">2</li>
<li id="foo2">3</li>
<li id="foo3">4</li>
<li id="foo4">5</li>
<li id="foo5">6</li>
</ul>
由于
答案 1 :(得分:1)
您可以执行以下操作
var list = document.getElementById('list').children;
var lastLI;
var idNotEqual = 'foo3'; // put your not equal ID here
for(var i = 0; i < list.length; i++){
if(list[i].id != idNotEqual){
lastLI = list[i];
}
}
console.log(lastLI);
示例HTML:
<ul id="list">
<li id="foo">1</li>
<li id="foo1">2</li>
<li id="foo2">3</li>
<li id="foo3">4</li>
<li id="foo4">5</li>
<li id="foo5">6</li>
</ul>
编辑:
更有效的方式:
var list = document.getElementById('list').children;
var lastLI;
var idNotEqual = 'foo3';
for(var i = list.length-1; i > 0; i--){
if(list[i].id != idNotEqual){
lastLI = list[i];
break;
}
}
console.log(lastLI);
答案 2 :(得分:1)
如果你使用jquery:
$('li:last');
纯js:
var lis = document.getElementsByTagName('li');
var li = lis[lis.length-1]; // get the last li
看看它是否有效(目前尚未经过测试)
<强>更新强> 我在这里测试的是一个jsFiddle:jsFiddle
答案 3 :(得分:0)
试试这个:$('li:not(#hello):last')
答案 4 :(得分:-1)
var arr = document.getElementById('li_hold').querySelectorAll('li:not(#hello)");
var last_li = arr[arr.length - 1];
编辑:以前这是返回第一个元素。如上所述,这不适用于某些旧版浏览器(http://caniuse.com/queryselector)。