Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 26.07.2010, 19:34
Интересующийся
Отправить личное сообщение для bioz00 Посмотреть профиль Найти все сообщения от bioz00
 
Регистрация: 26.07.2010
Сообщений: 14

Дримвывер цс4 выдает ошибку в первой строке, если стереть первые три строки, ощибка появляется в десятой, где var b = {
я в jawa 0.01, поэтому сорри если туплю
Ответить с цитированием
  #32 (permalink)  
Старый 04.05.2011, 19:47
Новичок на форуме
Отправить личное сообщение для bios Посмотреть профиль Найти все сообщения от bios
 
Регистрация: 04.05.2011
Сообщений: 2

function replaceHtml(el, html) {
	var oldEl = typeof el === "string" ? document.getElementById(el) : el;
	/*@cc_on 
		oldEl.innerHTML = html;
		return oldEl;
	@*/
	var newEl = oldEl.cloneNode(false);
	newEl.innerHTML = html;
	oldEl.parentNode.replaceChild(newEl, oldEl);
	return newEl;
};
Ответить с цитированием
  #33 (permalink)  
Старый 11.11.2014, 20:18
Новичок на форуме
Отправить личное сообщение для HekracoB Посмотреть профиль Найти все сообщения от HekracoB
 
Регистрация: 20.12.2009
Сообщений: 7

Доброго времени суток! Данный код
window.onload=function(){
    document.body.innerHTML=document.body.innerHTML.replace(/Лимон/g,'Яблоко');
}

отлично подходит для моей задачи, но есть одно "НО". Если в тексте встречается "Лимоны", то в итоге я получаю "Яблокоы". Подскажите, как сделать, чтобы код искал строго указанное слово? Ну а чтобы заменить "Лимоны" на "Яблоки", то, я так понимаю, нужно тиражировать код?
Ответить с цитированием
  #34 (permalink)  
Старый 11.11.2014, 22:23
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от HekracoB
нужно тиражировать код
Нет, конечно. Вот, вникай:
function replace(string, source, replacer) {
	var x = source.slice(1).filter(notEmptyString);
	var ending = "(" + x.join("|") + ")";

	if (x.length == 1) ending += "?";

	var regExp = new RegExp(source[0] + ending, "g");
	
	return string.replace(regExp, handler);

	function handler(match, x) {
		return replacer[0] + replacer[source.indexOf(x || "")];
	}

	function notEmptyString(x) {
		return x;
	}
}

var test = "test Лимон test Лимоны test";
alert( replace(test, ["Лимон", "", "ы"], ["Яблок", "о", "и"]) );

Конечно, можно (и нужно) более элегантно и читаемо сделать, но мне лень - это сходу написано.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
всплывающая java script подсказка ehevnlem Элементы интерфейса 2 16.12.2008 16:57
В IE java Script Error! Хелп! web64 Общие вопросы Javascript 5 04.09.2008 17:09
Java script drug & drop MikeJn Общие вопросы Javascript 6 15.08.2008 13:29
Вакансия: Java Script программист, Москва, з/п от 50000 руб. Pavel Работа 0 02.07.2008 17:37
HELP: Java Script Error: “text” is undefined Aram Khachaturyan Общие вопросы Javascript 2 11.04.2008 16:57