2013-02-25 4 views
0

jQuery를 사용하여 span 태그 안에 페이지 제목을 표시합니다. 모든 페이지가 제목 태그 내에 페이지 제목 페이지 제목이있는 것을 제외하면이 방법은 정상적으로 작동합니다. 어떻게 이것을 제거하고 단순히 페이지 제목을 가질 수 있습니까?jQuery - span 태그 내부의 문자를 제거하는 방법

예 : Superlong 사이트 '제목 - 회사 소개가 있어야한다 : 회사

소개

내 코드 :

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); 
    }); 
}); 

감사합니다!

+2

코드가 괜찮습니다. 문제가 무엇입니까? –

+0

오, 그래! 그것은 여전히 ​​전체 제목을 울립니다. – Sean

+0

코드 또는 제목 예에서 오타가있을 수 있지만 '초고속 사이트 \ Title \'과 'Superlong Sites \'Title - '사이의 불일치 일 수 있습니다. 아포스트로피가 다르며 하이픈을 채우는 간격이 다릅니다 –

답변

2

분할 대시에 따라 배열에 텍스트, 다음 배열의 마지막 항목을 얻을 : 필요한 경우

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

당신은뿐만 아니라, 앞의 공백을 트리밍 할 수 있습니다. 당신이 빠른 정규식에 익숙한 경우

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

있지만 경우에하는 것은 다음 고려해 볼 수 있습니다 : 당신이 조금 더 빨리 할 경우 정규식 (감사 f00bar) 대신 사용할 수 있습니다 -

편집 다른 옵션은보다 명확하고 유지 보수가 쉽기 때문입니다.

+0

완벽한, 감사합니다! – Sean

+1

빠릅니다 : $ (this) .text ($ (this) .text(). (/^[^ -] + -? /, '')); – Stphane

+0

도이 코드를 포함하도록 편집되었지만 RegEx를 사용하면 코드 유지 관리가 항상 문제가됩니다. 둘 다 제공하면 아무에게도 해가되지 않습니다. :) – PlantTheIdea

1

이 코드는 당신을 도움이 될 것입니다 : 당신의 replace 기능은 원하는 문자열을 찾을 수 없기 때문이다

var url = jQuery(this).attr('title'); 
var shortUrl = url.substring(url.indexOf("- ") + 1, url.length); 
jQuery('#current_url').html(shortUrl); 
1

, 당신의 제목이 Superlong Sites' Title -이며 Superlong Site's Title-을 대체하기 위해 노력하고 있습니다.

$(document).ready(function() { 
    $('#current_url').text(function(){ 
    return $('title').text().replace("Superlong Site's Title - ", ''); 
    }) 
}); 
-1

.html() 함수를 사용하여 스팬 콘텐츠를 설정해보십시오.

관련 문제