Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从ul获取最后一个子节点li,其中子节点的id不是指定值_Javascript - Fatal编程技术网

Javascript 从ul获取最后一个子节点li,其中子节点的id不是指定值

Javascript 从ul获取最后一个子节点li,其中子节点的id不是指定值,javascript,Javascript,我需要得到最后一个li元素的id,其中li id不是一个特定的单词 var lastChildID = document.getElementById("li_hold").lastChild.id 这会给我最后一个li id,但我不知道如何说:在id不在的地方获取最后一个li id例如:hello var arr = document.getElementById('li_hold').querySelectorAll('li:not(#hello)"); var last_li = arr

我需要得到最后一个li元素的id,其中li id不是一个特定的单词

var lastChildID = document.getElementById("li_hold").lastChild.id
这会给我最后一个li id,但我不知道如何说:在id不在的地方获取最后一个li id例如:hello

var arr = document.getElementById('li_hold').querySelectorAll('li:not(#hello)");
var last_li = arr[arr.length - 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);
你可以做以下事情

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);
如果使用jquery:

$('li:last');
纯js:

var lis = document.getElementsByTagName('li');
var li = lis[lis.length-1]; // get the last li
看看它是否有效(目前尚未测试)

更新 我在这里测试了一个JSFIDLE:

如果您使用jquery:

$('li:last');
纯js:

var lis = document.getElementsByTagName('li');
var li = lis[lis.length-1]; // get the last li
看看它是否有效(目前尚未测试)

更新
我在这里测试了一个JSFIDLE:

试试这个:
$('li:not(#hello):last')
试试这个:
$('li:not(#hello):last')
你可以像这样得到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 id=$(“ul#list li:last child”).attr(“id”);
如果(id!=“你好”){
警报(id);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

谢谢

您可以像这样获得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 id=$(“ul#list li:last child”).attr(“id”);
如果(id!=“你好”){
警报(id);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6


谢谢

measn您想要最后一个
li
ul
,它没有id信息。对吗?w8,你想要文档中的最后一个li还是没有特定id的最后一个li?我想要ul中id不是的最后一个li元素,例如hello。这意味着它可以在-10位置,从实际的最后一个limeans你想要的最后一个
li
ul
没有id信息。对吗?w8,你想要文档中的最后一个li还是没有特定id的最后一个li?我想要ul中id不是的最后一个li元素,例如hello。因此,这意味着它可以从实际的最后一个li处于-10位置。我想这将返回第一个
li
id!=“hello”
,不是最后一个。我想这将返回第一个
li
id!=“您好”
,不是最后一个。或者您可以运行一个反向循环,这样会更有效率。这成功了,非常感谢。我真的需要学习这个技巧,你可以运行一个反向循环,这将是更有效的。这做了诀窍非常感谢你。我真的需要知道这个混蛋并没有否决你,但你好像有打字错误。应该是“lis.length-1”为什么人们没有检查jsFiddle:/i更新了答案我没有否决你的意见,但看起来你好像有打字错误。应该是“lis.length-1”为什么人们不检查JSFIDLE:/i无论如何都更新了答案我真的很想在普通JS中看到这一点我真的很想在普通JS中看到这一点对不起。但完全没有抓住问题的关键。真不敢相信它还能得到这么多选票。睁大你的眼睛@upvotersWell…当我脑子里有了一个想法,要以一种我需要知道的特定方式去做某件事:我能,怎么做…而那些行之有效的答案让我很遗憾地说出来。但完全没有抓住问题的关键。真不敢相信它还能得到这么多选票。睁大你的眼睛@upvotersWell…当我脑子里有了一个想法,要以一种我需要知道的特定方式去做某件事:我能,怎么做…然后答案就出来了