有条件地使用jquery将文本前缀为基于字符数的标题标记

时间:2013-08-20 10:18:19

标签: jquery

我正在尝试根据标题中的字符数使用jquery将文本添加到我的页面标题标签中。

如果字符数为< = 30

,我想在标题前加上文字说明

我取得了一些成功:

         $(document).ready(function(){
         if ( $('title').length > 0 ){
              $('title').prepend('mytext');
             }
             })

但这只适用于总字符数,所以如果我输入> 200如果我输入>它将不会附加文本。 0它会附加文本但是< = 30不起作用所以我想我正在寻找将在加载时计算每个页面标题然后应用条件的代码。

我希望这有道理...... !!

谢谢

4 个答案:

答案 0 :(得分:2)

它应该是这样的:

if ( $("title").text().length <= 30 ){
    $('title').prepend('mytext');
}

答案 1 :(得分:0)

你不需要这个JQuery。

使用document.title代替您的选择器(选择所有标题标签)。

document.title是页面标题的简单读/写属性。

e.g。

 $(document).ready(function(){
     var title = document.title;
     if ( title.length <=30 ){
         document.title = 'mytext' + title;
     }
 })

极简版:

 if ( document.title.length <=30 ){
     document.title = 'mytext' + document.title;
 }

你更喜欢JQuery,Ganesh Pandhere的答案也适用。

答案 2 :(得分:0)

我猜测只有一个标题。您正在计算标题数量。你应该这样做:

 $(document).ready(function(){
     var title = $('title').eq(0);
     if ( title.text().length > 0 ){
          title.prepend('mytext');
     }
 })

答案 3 :(得分:0)

如果您在一个页面上有多个标签,它将如下所示:

$(document).ready(function(){
    $('h2').each(function(){
        if($(this).html().length < 30){
            $(this).prepend('Hi, this is ');
        }
    });
});

请参阅http://jsfiddle.net/danieltulp/u2tPH/