题
我有一个侧栏导航,其中列出博客文章的标题在网页的一侧。我试图写一些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");
});
页面的链接是没有帮助很大。不知怎的,我没有看到你想匹配与链接,标题。遗憾。
<强>更新强>
确定我计算出来。问题是,这两个字符串(标题和一个在链接不匹配的,因为称号,它(
),其中在侧边栏的链接都没有过Eastpoint Plaza Lot
。虽然这被转换成一个空白如果调用.text()
,它以某种方式不匹配。
现在,这可以通过解决通过.html()
拿到冠军,并用空格代替
:
$('.single-journal-entry-wrapper .journal-entry .title a').each(function(){
var activeTitle = $(this).html().replace(' ', ' ');
$("#sidebar1 .section .headline a:contains('" + activeTitle + "')")
.parent().addClass("activeTitle");
});
为了测试我复制你所有的HTML代码,它现在对我的作品。试试看。我认为最大的问题是,标题可能有HTML在它编码的字符,所以发现它们转换如果您遇到更多的问题库。
不隶属于 StackOverflow