首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery -返回彩色超链接

jQuery -返回彩色超链接
EN

Stack Overflow用户
提问于 2020-06-12 18:53:40
回答 3查看 45关注 0票数 0

我试图返回彩色超链接,但它一直失败。

所以我基本上有一个庞大的超链接列表,其中一些最终得到了红色的颜色样式。我正在尝试通过一个按钮来列出当前时间哪些是红色的。我一直没有得到任何结果。

HTML代码:

代码语言:javascript
复制
<tr id="List" style="display: none;">
  <td>General
    <hr><a class="toggle-vis" data-column="0">#</a> -
    <a class="toggle-vis" data-column="1">First Name</a> -
    <a class="toggle-vis" data-column="2" style="color: red;">Last Name</a> -
    <a class="toggle-vis" data-column="3" style="color: red;">Country</a>
  </td>
</tr>

<p><label><input type="checkbox" id="options"/> Show Red Options!</label></p>
<div class="print"></div>

jQuery代码:

代码语言:javascript
复制
$('#options').change(function () {
  var i = 0;
  while (i < 4) {
    var color = $('a[data-column=' + i + ']').css('color');
      if (color === 'rgb(255,0,0)') {
        $('#options').attr($('.print').text("Data-Column ID: " + i));
      } else {
        $('#options').attr($('.print').text("Boo!"));
      }
    i++;
  }
});

我试过两种颜色“红色”和RGB的。

下面是小提琴:https://jsfiddle.net/3ynph2wv/1/

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-06-12 19:13:27

两个问题:

spaces)

  • display
  1. 搜索合适的颜色rgb(255, 0, 0) (请注意正确地显示结果)

代码语言:javascript
复制
const print = $('.print');
print.html('');

$('#options').change(function() {
  var i = 0;
  while (i < 4) {
    var color = $('a[data-column=' + i + ']').css('color');
    if (color === 'rgb(255, 0, 0)') {
      print.append(`Data-Column ID: ${i}<br>`);
    } else {
      print.append(`ID ${i} Boo!<br>`);
    }
    i++;
  }
});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<tr id="List" style="display: none;">
  <td>General
    <hr><a class="toggle-vis" data-column="0">#</a> -
    <a class="toggle-vis" data-column="1">First Name</a> -
    <a class="toggle-vis" data-column="2" style="color: red;">Last Name</a> -
    <a class="toggle-vis" data-column="3" style="color: red;">Country</a>
  </td>
</tr>

<p><label><input type="checkbox" id="options"/> Show Red Options!</label></p>
<div class="print"></div>

票数 2
EN

Stack Overflow用户

发布于 2020-06-12 19:12:25

你可以用下面的方法来做。这是更好的方法,下面的方法是循环使用切换-vis类的链接。

代码语言:javascript
复制
$('#options').change(function () {
  var textToPrint = '';

  $('.toggle-vis').each(function(){
    if($(this).css('color') == 'rgb(255, 0, 0)'){
       textToPrint += $(this).text()+', '; 
    }

    $('.print').html(textToPrint.slice(0, -2));     // slice function is for removing the comma at the end.
  });
});
票数 0
EN

Stack Overflow用户

发布于 2020-06-12 19:12:49

下面是你如何做到这一点的一个例子。这样做的目的是使用attr方法,看看它是否具有设置颜色的样式。

代码语言:javascript
复制
$('#options').change(function () {
  var i = 0;
  while (i < 4) {
    var element = $('a[data-column=' + i + ']');
    var style = element.attr('style')
    if(style) {
    	if (style.indexOf('red') != -1) {
        $('.print').html($('.print').html() + " Data-Column ID: " + i + '<br>');
      } 
    } else {
        $('.print').html($('.print').html() + " Boo! ID: " + i + "<br>");
    }
    i++;
  }
});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<tr id="List" style="display: none;">
  <td>General
    <hr><a class="toggle-vis" data-column="0">#</a> -
    <a class="toggle-vis" data-column="1">First Name</a> -
    <a class="toggle-vis" data-column="2" style="color: red;">Last Name</a> -
    <a class="toggle-vis" data-column="3" style="color: red;">Country</a>
  </td>
</tr>


<p><label><input type="checkbox" id="options"/> Show Red Options!</label></p>
<div class="print"></div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62350703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档