Заменить точки тела пробелами - PullRequest
0 голосов
/ 26 февраля 2012
$('body, html').replace(".", " ");

Я пробовал, но этот не работает.Я хочу заменить точки пробелами на всей странице.

Ответы [ 3 ]

1 голос
/ 26 февраля 2012

Попробуйте replaceAll функциональность. Вы хотите убедиться, что вы заменяете все элементы, а не только один.

Обновление: replaceText может использоваться для замены всего текста, присутствующего в элементе.

0 голосов
/ 26 февраля 2012

Если я вас понял, вы хотите только заменить точки на текст.

Эта функция на 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);
0 голосов
/ 26 февраля 2012

Есть ли у jQuery метод .replace()? Похоже, вы пытаетесь использовать String.replace() для объекта jQuery.

Вместо этого вы можете попробовать следующее:

var $body = $("body");
$body.html( $body.html().replace(/\./g, " ") );

Или, если вы хотите сделать это для более избранных элементов, скажем, только те, которые имеют определенный класс:

$(".aCertainClass").html( function(i, oldVal) {
   return oldVal.replace(/\./g, " ");
});

Обратите внимание, что .replace() использует регулярное выражение с установленным флагом g, поэтому оно выполняет глобальную замену, а не просто заменяет первое совпадение.

Обратите также внимание, что если вы замените html тела, оно эффективно удалит и воссоздает все ваши элементы, поэтому уничтожит все связанные обработчики событий - так что сделайте это до присоединения ваших обработчиков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...