jQuery查找某些类名称不为空的jQuery

时间:2018-01-30 05:48:17

标签: javascript jquery

我有一个脚本正在解析表到json。

它像这样工作得很好

    <thead id="itemspecthead" class="itemspectheadc">
  <tr>
    <th class="ishead isheadname">Name</th>
    <th class="ishead isheadvalue">Value</th>
  </tr>
    </thead>

使用脚本逻辑:

  var headers = [];

  $(rows.shift()).find('th:first:not(:empty), th:nth-child(2):not(:empty)').each(function () {
    headers.push($(this).text().toLowerCase());
  });

但是试图对我的表格进行样式化,我在表格标题中添加了几行。

    <thead id="itemspecthead" class="itemspectheadc">
        <tr><td colspan="2" class="tdheader"><span>Item Specifics:</span></td></tr>
     <tr><td colspan="2" class="speccaption"><span>(Generated from Unique Values from All Listings)</span><br /></td></tr>
  <tr>
    <th class="ishead isheadname">Name</th>
    <th class="ishead isheadvalue">Value</th>
  </tr>
    </thead>

如果我删除了我的thead中的两个额外行,则脚本运行正常。 似乎错误在这个逻辑.find('th:first:not(:empty), th:nth-child(2):not(:empty)')

我已尝试将其更改为.find('th.ishead:first:not(:empty),.find('.ishead th:first:not(:empty),,以便通过类名找到它而没有运气。

如何定位ishead行,同时在colspan="2"中保留额外的thead行?

这是我的onclick函数,现在正在返回name,value,name,value(由于某种原因重复两次......)。这就是我的整个点击功能脚本,我删除了其他所有内容。

$(document).on('click', '#editjson', function() {

  var headers = [];

    $('th.ishead:not(:empty)').each(function () {
    headers.push($(this).text().toLowerCase());
  });
  alert('headers: ' + headers);
  console.log(headers);
  });

返回name,value,name,value ...

1 个答案:

答案 0 :(得分:1)

:not(:empty)直接应用于所有th(不是任何特定的一个)

如下所示: -

$(rows.shift()).find('th.ishead:not(:empty)').each(function () {
  headers.push($(this).text().toLowerCase());
});

工作样本: -

&#13;
&#13;
$(document).ready(function(){
  var headers = [];

  $('th.ishead:not(:empty)').each(function () {
    headers.push($(this).text().toLowerCase());
  });
 console.log(headers);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<thead id="itemspecthead" class="itemspectheadc">
  <tr><td colspan="2" class="tdheader"><span>Item Specifics:</span></td></tr>
  <tr><td colspan="2" class="speccaption"><span>(Generated from Unique Values from All Listings)</span><br /></td></tr>
  <tr>
    <th class="ishead isheadname">Name</th>
    <th class="ishead isheadvalue">Value</th>
  </tr>
</thead>
</table>
&#13;
&#13;
&#13;