0

jQueryを使用して、スパンタグ内のページタイトルをエコーし​​ています。これは、すべてのページのタイトルタグ内にサイトタイトルページタイトルがあることを除いて、正常に機能します。これを削除して、ページタイトルを付けるにはどうすればよいですか?

例:スーパーロングサイトのタイトル-私たちについて:私たちについて

私のコード:

jQuery(document).ready(function() {
    var href = jQuery(location).attr('href');
    var url = jQuery(this).attr('title');
    jQuery('#current_url').html(url);

    $('span#current_url').each(function() { // <---the code in question
        console.log($(this).text());
        var text = $(this).text().replace('Superlong Site\'s Title- ', '');
        $(this).text(text); 
    });
});

ありがとう!

4

4 に答える 4

2

ダッシュに基づいてテキストを配列に分割し、配列の最後の項目を取得します。

console.log($(this).text());
var text = $(this).text().split('-');
$(this).text(text[text.length-1]);

必要に応じて、前面のスペースをトリミングすることもできます。

編集-少し速くしたい場合は、正規表現置換を使用できます(f00barに感謝):

$(this).text($(this).text().replace(/^[^-]+- ?/,''));

正規表現に慣れている場合はこれが高速ですが、そうでない場合は、より明示的で保守しやすい他のオプションを検討することをお勧めします。

于 2013-02-25T15:28:31.317 に答える
1

このコードスニペットはあなたを助けるはずです:)

var url = jQuery(this).attr('title');
var shortUrl = url.substring(url.indexOf("- ") + 1, url.length);
jQuery('#current_url').html(shortUrl);
于 2013-02-25T15:29:30.410 に答える
1

これは、replace関数が目的の文字列を見つけられず、タイトルが見つかり、Superlong Sites' Title -置換しようとしているためSuperlong Site's Title-です。

$(document).ready(function() {
  $('#current_url').text(function(){
     return $('title').text().replace("Superlong Site's Title - ", '');
  })
});
于 2013-02-25T15:29:55.483 に答える
-1

.html()関数を使用してスパンコンテンツを設定してみてください。

于 2013-02-25T15:32:10.190 に答える