如何使用String.replace()替换所有出现的模式

时间:2013-02-28 01:41:36

标签: javascript jquery jquery-ui cross-browser

在许多div中,我必须通过用句点替换空格来改变类名。

所以我试过这个

$(jqueryElements).each(function(index)
{ 
    jqueryElements[index].className.replace(' ','.');
});

当班级有两个单词时,它可以正常工作......但是当班级名称有3个或更多单词时,它会失败....

className='one word';
jqueryElement[index].className.replace(' ','.'); // console-> one.word
className='many many words';
jqueryElement[index].className.replace(' ','.'); // console-> many.many words

有什么问题?

我正在使用Chrome 25,Win7,jQuery 1.8

编辑2

我需要替换空格来搜索具有特定类名的所有span元素。

所以我以这种方式使用jquery ......

$('#span-container').find('span.'+jqueryElements[index].className.replace(' ','.').text('there are '+span_counter+'spans with this classname');

这个请求的结果应该是:

 $('#span-container').find('span.many.many.words).text('there are '+span_counter+'spans with this classname');

相反,我有:

$('#span-container').find('span.many.many words).text('there are '+span_counter+'spans with this classname');

2 个答案:

答案 0 :(得分:3)

请改用.replace(/ /g, '.')g表示全局(如“全局替换”)。虽然我对你要做的事情有点犹豫不决。

答案 1 :(得分:3)

请勿使用替换,请使用splitjoin

jqueryElements[index].className.split(' ').join('.');