我有一个侧栏导航,其中列出博客文章的标题在网页的一侧。我试图写一些jQuery的,将检查在当前充满博客条目页面的标题文本,并在侧边导航栏中的相应标题匹配它,这样我可以应用类样式的活动状态的链接...但我不太得到它!这里是链接到一个示例页面:的http:// NCW商业.COM /财产清单/置邦 - 广场 - lot.html ,以下是我当前的代码。我一直在使用也尝试:包括但无法弄清楚如何得到这工作有变量,而不是直接的文字

$('.single-journal-entry-wrapper .journal-entry .title').each(function(){ 
      var activeTitle = $(this).text();
      $(".feedburnerFeedBlock .headline a").filter(function(index) {
         return $(this).text() == "activeTitle";
      }).parent().addClass("activeTitle");
}); 
有帮助吗?

解决方案

我觉得你是非常非常接近(假设选择是正确的)。只是删除周围activeTitle引号(否则你是比较对字符串"activeTitle"):

$('.single-journal-entry-wrapper .journal-entry .title a').each(function(){ 
      var activeTitle = $(this).text();
      $("#sidebar1 .section .headline a").filter(function(index) {
         return $(this).text() == activeTitle;
      }).parent().addClass("activeTitle");
});

您也可以使用 :contains() 选择器:

$('.single-journal-entry-wrapper .journal-entry .title a').each(function(){ 
      var activeTitle = $(this).text();
      $("#sidebar1 .section .headline a:contains('" + activeTitle + "')")
      .parent().addClass("activeTitle");
});

页面的链接是没有帮助很大。不知怎的,我没有看到你想匹配与链接,标题。遗憾。

<强>更新

确定我计算出来。问题是,这两个字符串(标题和一个在链接不匹配的,因为称号,它(&nbsp;),其中在侧边栏的链接都没有过Eastpoint Plaza&nbsp;Lot。虽然这被转换成一个空白如果调用.text(),它以某种方式不匹配。

现在,这可以通过解决通过.html()拿到冠军,并用空格代替&nbsp;

$('.single-journal-entry-wrapper .journal-entry .title a').each(function(){ 
      var activeTitle = $(this).html().replace('&nbsp;', ' ');
      $("#sidebar1 .section .headline a:contains('" + activeTitle + "')")
      .parent().addClass("activeTitle");    
});

为了测试我复制你所有的HTML代码,它现在对我的作品。试试看。我认为最大的问题是,标题可能有HTML在它编码的字符,所以发现它们转换如果您遇到更多的问题库。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top