【问题标题】:jQuery check if div has matching text and then copy stylejQuery检查div是否有匹配的文本然后复制样式
【发布时间】:2023-03-29 04:59:01
【问题描述】:

我需要检查两个 div 是否包含相同的文本,如果是,我需要复制一个的样式并将其应用到另一个,这就是设置;

 <div class="coursediv">   <label>Melbourne</label></div>
 <div class="coursediv">    <label>Sydney</label></div>
 <div class="coursediv">    <label>Darwin</label></div>
 <div class="coursediv">    <label>Brisbane</label></div>
 <div class="coursediv">    <label>Townsville</label></div>



 <div class="infobox">
 <p>Melbourne</p></div>
 <div class="infobox">
 <p>Sydney</p></div>
 <div class="infobox">
 <p>Darwin</p></div>
 <div class="infobox">
 <p>Brisbane</p></div>
 <div class="infobox">
 <p>Townsville</p></div>

样式使用第n个类型,所以不确定这是否可能,样式和设置可以在这里看到 http://jsfiddle.net/bloodygeese/7bvuzsru/1/

【问题讨论】:

  • 你有没有尝试过?
  • 你为什么使用!important
  • 只有我从另一个示例中找到的一些代码可以查看文本是否不匹配并应用样式,但我认为这是我需要的错误起点
  • 我正在使用 !important;由于设置的其余部分,但如果有帮助,我可以删除它并解决它?

标签: jquery styles contains


【解决方案1】:

使用$.each()循环遍历你的div

$(".infobox").each(function(i,v){
   var $info = $(this);

   $(".coursediv").each(function(i,v){
       var $course = $(this);

       if($info.text()==$course.text()){
          $info.addClass( $course.attr('class') );
       }
   });
});

应该足以推断。

【讨论】:

  • 抱歉,不知道怎么用?这不会对所有元素应用相同的背景颜色吗?
  • 如果您不知道如何使用 jQuery,不如像其他人一样尝试向jQuery.com 学习它? :)
  • 感谢您的建议,我正在尝试(慢慢地),但是对于愤怒的老板来说,这个具体问题需要快速解决
  • 你能至少解释一下逻辑吗?那不会为所有元素添加相同的类吗?
  • 我给了你一个完全有效的答案供你推断。如果您希望有人为您编写此应用程序,我有一些坏消息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-21
相关资源
最近更新 更多