javascript - 如何获得背景颜色和颜色不同的字符串?

标签 javascript jquery

如何获取背景颜色和颜色不同的字符串? 预期输出 BCFE

获取输出:BCDEF

$(function(){
  //alert()
   var a =''
    $('tr td').map(function(){

      var arr = $(this).attr('style').split('#');
      arr[1] =arr[1].substring(0,arr[1].indexOf(';'))
   if(arr[1]!=arr[2]){
     a+=$(this).text();
   }
      // console.log(arr);
    })
    console.log(a)

})

HTML

<table>
    <tr>
        <td style="background-color: #0d71bb;color: #0d71bb">A</td>
        <td style="background-color: #0ea432;color: #0f0f10">B</td>
        <td style="background-color: #e0b4b4;color: #e6a200">C</td>
    </tr>
    <tr>
        <td style="background-color: #FFFF00;color: #FF0">D</td>
        <td style="background-color: #a9d5de;color: #a3c293">E</td>
        <td style="background-color: #b4d95c;color: #b21e1e">F</td>
    </tr>

</table>

这是我的代码 https://jsbin.com/vaqifujulo/edit?html,js,console

解释更多

显示可见字符串中的文本

最佳答案

您以一种相当不寻常的方式从 td 标记中获取样式。我建议你使用 jQuery 的 .css()方法来获取您想要的颜色,而不是尝试拆分 style 标记:

var bgColor = $(this).css('background-color'); // get background color td
var letterColor = $(this).css('color'); // get text color of td

另外,请注意,您不需要使用 .map(),而是可以使用 .each() 来循环 each tr td 元素。

请参阅下面的工作示例:

$(function() {
  var a = '';
  $('tr td').each(function() {
    var bgColor = $(this).css('background-color');
    var letterColor = $(this).css('color');

    if (bgColor != letterColor) {
      a += $(this).text();
    }
  })
  console.log(a);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<table>
  <tr>
    <td style="background-color: #0d71bb;color: #0d71bb">A</td>
    <td style="background-color: #0ea432;color: #0f0f10">B</td>
    <td style="background-color: #e0b4b4;color: #e6a200">C</td>
  </tr>
  <tr>
    <td style="background-color: #FFFF00;color: #FF0">D</td>
    <td style="background-color: #a9d5de;color: #a3c293">E</td>
    <td style="background-color: #b4d95c;color: #b21e1e">F</td>
  </tr>
</table>

关于javascript - 如何获得背景颜色和颜色不同的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56611768/

相关文章:

javascript - Angular ng 重复禁用除第一项之外的所有项目

jquery - 如何在没有任何事件的情况下连续在 JQuery 中设置图像的淡入淡出幻灯片?

javascript - jquery-ui 自动完成,操作 json 和 javascript 来解析隐藏的输入字段?

javascript - jQuery UI 可调整大小的反向

javascript - 依赖下拉列表的数据验证

javascript - 简单的JS,onclick改变背景颜色

javascript - rails 4 : Partial can't use javascript after being rendered (with ajax)

javascript - 当元素内容扩展且正文具有图像背景时,框阴影渲染不正确

javascript - 如果页面加载时文本框为空,如何获取该值?

javascript - 带有 flex 边和溢出的 Div :hidden in Chrome and Safari