Javascript 选择tr时如何排除第一个td?CSS,JQuery

Javascript 选择tr时如何排除第一个td?CSS,JQuery,javascript,jquery,html,css,vue.js,Javascript,Jquery,Html,Css,Vue.js,我有一个脚本,它在单击时更改表的tr背景色: <script> $('#reviews').on('click', 'tbody tr', function(event) { $(this).addClass('highlight').siblings().removeClass('highlight'); }) </script> 但是,当您试图排除第一个tr时,单击第一个td时,它仍然突出显示整行,但提到您希望排除第一个td 像这样试试 $('#re

我有一个脚本,它在单击时更改表的
tr
背景色:

<script>
  $('#reviews').on('click', 'tbody tr', function(event) {
    $(this).addClass('highlight').siblings().removeClass('highlight');
  })
</script>

但是,当您试图排除第一个tr时,单击第一个
td

时,它仍然突出显示整行,但提到您希望排除第一个td

像这样试试

$('#reviews').on('click', 'tbody > tr', function(event) {
    $(this).parent().find('td:not(:first-of-type)').addClass('highlight');
    $('table#reviews tr > td:not(:first-of-type).highlight').removeClass('highlight');
})

排除每行的第一个
tr
not
td
。如果我正确理解了您的目标,应该是这样的:

  $('#reviews').on('click', 'tbody tr td:not( :first-of-type )', function(event) {
    $(this).parent().addClass('highlight').siblings().removeClass('highlight');
  })

在这里回答,谢谢。但我试过了,同样的问题。答案是针对tds的。您的代理子选择器以trs为目标。所以他们在这方面是不同的。
  $('#reviews').on('click', 'tbody tr td:not( :first-of-type )', function(event) {
    $(this).parent().addClass('highlight').siblings().removeClass('highlight');
  })