私はあなたが非常に近いと思います(セレクターが正しいと仮定して)。周りの引用符を削除するだけ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でエンコードされた文字が含まれている可能性があることです。そこで、さらに問題が発生した場合にそれらを変換するライブラリを見つけてください。