Javascript CSS/JS选择器-选择类不等于的最后一个元素

Javascript CSS/JS选择器-选择类不等于的最后一个元素,javascript,css,select,element,Javascript,Css,Select,Element,我试图从一个HTML表中获取来自最新tr的最新td标记,其中最新td标记不应禁用类 我使用CSS选择器在纯JavaScript中完成此操作,请不要使用jQuery!。我尝试了一些可能性,但都返回null或无效选择器消息。另外,发布在中的解决方案对我不起作用 我的一些尝试: var table = document.getElementById('example'); var test1 = table.querySelector('tr:last-child > td:nth-last-c

我试图从一个HTML表中获取来自最新tr的最新td标记,其中最新td标记不应禁用类

我使用CSS选择器在纯JavaScript中完成此操作,请不要使用jQuery!。我尝试了一些可能性,但都返回null或无效选择器消息。另外,发布在中的解决方案对我不起作用

我的一些尝试:

var table = document.getElementById('example');
var test1 = table.querySelector('tr:last-child > td:nth-last-child(:not(.disabled))');
var test2 = table.querySelector('tr:last-child > td:nth-last-child:not(.disabled)');
var test3 = table.querySelector('tr:last-child > td:nth-last-child(1 of :not(.disabled))');
var test4 = table.querySelector('tr:last-child > td:not(.disabled):last-child');
例如:

<table id="example">
    <tr>
        <td> ... </td>
        <td class="disabled"> ... </td>
        <td> ... </td>
    </tr>
    <tr>
        <td class="disabled"> ... </td>
        <td> ... </td>
        <td> ... </td>
    </tr>
    <tr>
        <td> ... </td>
        <td> Value I want </td>
        <td class="disabled"> ... </td>
    </tr>
</table>

在这里,我需要我想要的价值,但我无法得到它。有人知道怎么回事吗?

CSS没有最后一个伪类,并且:last child和:last of type不适用于您想要的类型

但是,由于您似乎希望使用JavaScript选择元素,所以很简单:选择所有未禁用.disabled的td,然后选择最后一个:

var list = document.querySelectorAll("td:not(.disabled)");
var last = list[list.length - 1];
或适用于该表:

var list = document.querySelectorAll("#example td:not(.disabled)");
var last = list[list.length - 1];
例如:

var list=document.querySelectorAllexample td:not.disabled; var last=list[list.length-1]; console.loglast.innerHTML; ... ... ... ... ... ... ... 我想要的价值 ...
问题的清晰描述?检查是否提供了复制问题的数据?检查是否在发布前明确尝试解决问题?检查一个问得很好的问题。我不知道我的问题出了什么问题,但是。。。很短,但直截了当对不起,我可能不太清楚。问得好的问题意味着问得好,问得恰当。至少在我看来,它没有任何问题。当我看到那个评论时,我担心人们投了反对票,但事实似乎并非如此。我提到这一点是出于感激:在这样的情况下,问得好的问题太少了,特别是在CSS和JS标记中。不错!谢谢你的澄清,我现在明白了。再次感谢asnwer,它工作得很好!奇怪的是,它不能被归档的CSS选择器只。不管怎样,谢谢你的快速回答,这确实会做的工作!