我需要获取 li id 不是特定单词的最后一个 li 元素的 id
var lastChildID = document.getElementById("li_hold").lastChild.id
这给了我最后一个 li id,但我不知道怎么说:获取最后一个 li id,其中 id 不是例如:你好
我需要获取 li id 不是特定单词的最后一个 li 元素的 id
var lastChildID = document.getElementById("li_hold").lastChild.id
这给了我最后一个 li id,但我不知道怎么说:获取最后一个 li id,其中 id 不是例如:你好
你可以像这样得到 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>
谢谢
您可以执行以下操作
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);
如果你使用 jquery:
$('li:last');
纯js:
var lis = document.getElementsByTagName('li');
var li = lis[lis.length-1]; // get the last li
看看它是否有效(目前尚未测试)
更新 我在这里测试它是一个 jsFiddle:jsFiddle
尝试这个:$('li:not(#hello):last')
var arr = document.getElementById('li_hold').querySelectorAll('li:not(#hello)");
var last_li = arr[arr.length - 1];
编辑:以前这是返回第一个元素。如前所述,这不适用于某些较旧的浏览器 ( http://caniuse.com/queryselector )。