我有一个页面,在上面显示一个完整的帖子(Wordpress),下面是整个帖子组(标题和摘录),包括显示的一个。我想能够改变下面的帖子的背景(标题和摘录),当它是上面完整显示的相同的帖子。
下面是我的代码:
var title1 = document.querySelector(".subhead").innerText.toLowerCase();
var names = document.querySelectorAll('.case-names'),
  result = [];
for (var i = 0; i < names.length; i++) {
  result.push(names[i].textContent.trim().toLowerCase());
  if (title1 == names[i]) {
    document.querySelector(".case-bottom").style.backgroundColor = "red";
  }
};当我使用控制台日志时,我看到title1 = joe smith,"joe smith“包含在名称数组中。我没有得到任何错误,但背景没有变化。
提前谢谢。
发布于 2020-10-19 05:12:29
我没有测试代码,我不得不猜测您的DOM结构是什么。因此,我的代码可能不能完全满足您的需求,但它应该足以告诉您应该做什么。我想你的HTML:
<div class="main-post"></div>
<div class="case-bottoms">
  <div class="case-bottom>
     <div class="case-name">Post Title</div>
     <div class="case-excerpt">some text</div> 
  </div>
</div>let cases = document.querySelectorAll('.case-bottom');
[...cases].forEach(case => {
   let caseTitle = case.querySelector(".case-names").trim().toLowerCase();
   if (caseTitle == title1) {
     case.style.backgroundColor = "red";
     // I always prefer this:
     case.classList.add(".is-reading");
  } else {
     // and this:
     case.classList.remove(".is-reading");
  }  
     
)https://stackoverflow.com/questions/64418284
复制相似问题