jquery 1.2.7如何替换一些文本?

时间:2010-06-10 15:34:57

标签: jquery

我无法升级我的jQuery,我想知道为什么这个函数不存在。我该如何实现这个:

$('#block-block-1 .content').replace(/^\s*|\s*$/g,'');

我得到的是:“功能不存在”

感谢

2 个答案:

答案 0 :(得分:2)

如果我正确阅读,您想要更改该特定元素的文本。您可以使用.text方法执行此操作。我们使用element.text()来检索文本,并element.text(newText)进行设置。我们可以将两者结合起来改变它。

var content = $('#block-block-1 .content');
content.text(content.text().replace(/^\s*|\s*$/g,''));

如果您想使用多个元素,可以使用.each方法分别对每个元素进行操作。

$('#block-block-1 .content').each(function(content) {
    content.text(content.text().replace(/^\s*|\s*$/g,''));
});

答案 1 :(得分:1)

.replace()是JavaScript的字符串对象的成员,而不是jQuery对象。因此,您需要获取jQuery对象的文本,更改它并更新jQuery对象:

var content = $('#block-block-1 .content');
var text = content.text();
var replacedText = text.replace(/^\s*|\s*$/g,'');
content.text(replacedText);

或者,使用text(function(index, text)),更好的方式:

$('#block-block-1 .content').text(function(index, text) {
    return text.replace(/^\s*|\s*$/g,'');
});

编辑:

Darn,第二个只是jQuery 1.4。