使用Jquery用“”替换空格

时间:2010-10-15 11:05:22

标签: javascript jquery string

我在网上四处寻找,但我找不到任何有用的东西。 :(

我遇到了一个我不明白的问题。我确信我做错了什么,但我不清楚jQuery的语法,以了解我做得对的是什么。

我正在使用JS和CSS 3的动画,并且我在单词之间有空格的麻烦,为了解决这个问题,我必须找到一种方法用其他东西替换字符串中的字符。就像一个空的空间,或者作为测试,我试图用“n”做“xxxxx”。

我认为我在做的是:

  1. 加载页面时
  2. 修改包含“.fancy-title”的课程n的任何段落的字符串,文字为“xxxxx
  3. 所以:

    $(document).ready(function(){
        for(i=0; i< myLength+1; i++){
            var charCheck = $(".fancy-title").text()[i];
            if(charCheck == "n"){
                charCheck.replace("n", "xxxxxxxx");
            }
        }
    });
    

    但是我收到一个错误:

      

    charCheck.replace(“n”,“xxxxxxxx”);它不是一个功能

    我正在使用jquery

    和其他基于jquery的脚本来制作动画,旋转和缩放...而且它们都在HEAD中,首先加载jquery。

    我做错了什么? jQuery中的操作是否需要特定的.js扩展名?我明白这是jQuery的基本功能,看看其他例子都会给我带来同样的错误。

    我甚至尝试过

    if(charCheck == "n"){
       $(".fancy-title").text()[i] == "&nbsp;"
    }
    

    但只是修改它不会在页面上应用。我也试过innerHTML :( 我觉得自己很无能......

    提前感谢您的帮助。

4 个答案:

答案 0 :(得分:5)

$(document).ready(function(){
    $(".fancy-title").each(function(i){
        var text = $(this).html();
        $(this).html(text.replace(/ /g, "&nbsp;"));
    })
});

答案 1 :(得分:4)

替换部件没问题:)。

$(document).ready(function(){
    $(".fancy-title").each(function () { //for all the elements with class 'fancy-title'
         var s=$(this).text(); //get text
         $(this).text(s.replace(/n/g, 'xxxxxxxx')); //set text to the replaced version
    });
});

只是一个简单的例子,希望它有效。

答案 2 :(得分:3)

您是否尝试过使用css样式white-space:pre而不是将''替换为'&amp; nbsp;'? http://de.selfhtml.org/css/eigenschaften/ausrichtung.htm#white_space

答案 3 :(得分:-1)

您似乎正在尝试用新字符串替换单个字符。

您可以通过删除迭代并在jQuery对象上调用.replace来获得正确的结果。