$('body, html').replace(".", " ");
我试了一下,但是这个没用。我想在整个页面中将点替换为空格。
答案 0 :(得分:1)
尝试replaceAll功能。您希望确保替换所有元素而不仅仅是一个元素。
更新:replaceText可用于替换元素中的所有文本。
答案 1 :(得分:0)
jQuery是否有.replace()
方法?您似乎试图在jQuery对象上使用String.replace()
。
您可以尝试以下方式:
var $body = $("body");
$body.html( $body.html().replace(/\./g, " ") );
或者,如果您想要更多选择元素,请仅说明具有某个类的元素:
$(".aCertainClass").html( function(i, oldVal) {
return oldVal.replace(/\./g, " ");
});
请注意,.replace()
正在使用设置了g
标记的正则表达式,因此它会进行全局替换,而不是仅替换第一个匹配项。
另请注意,如果替换正文的html,它会有效地删除并重新创建所有元素,因此它会终止已经绑定的任何事件处理程序 - 所以在附加处理程序之前执行此操作。
答案 2 :(得分:0)
如果我找到了你,你只想把点改成文字。
This function at http://jsfiddle.net/KmZ5A/应该做你需要的事情:
function searchDOM(element) {
var items = [];
items.push(element);
var item;
while (item = items.pop()) {
if (typeof item != 'undefined' && item.nodeValue && item.nodeValue != null) {
item.nodeValue = item.nodeValue.replace(/\./g,' ');
}
for (var key in item.childNodes) {
var child = item.childNodes[key];
if (typeof child != 'undefined' &&
(child.nodeType == 1 || child.nodeType == 3)) {
items.push(child);
}
}
if (item.nodeName == "IFRAME") {
if (!item.src) items.push(item.contentDocument.body);
}
}
return null;
}
searchDOM(document.body);