Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #41 (permalink)  
Старый 16.10.2012, 22:17
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

$('body')[0].attributes
//       ^
//       | в этой точке мы понимаем, что jquery бесполезен
//       | и лезем к данным через DOM API
//       | при этом получаем мы NamedNodeMap,
//       | который даже forEach не поддерживает
__________________
.ня

Последний раз редактировалось tenshi, 16.10.2012 в 22:20.
Ответить с цитированием
  #42 (permalink)  
Старый 16.10.2012, 22:27
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

задача по сложнее: как с помощью jquery обрамить все вхождения слова "jquery" тэгами <my_found>
__________________
.ня
Ответить с цитированием
  #43 (permalink)  
Старый 16.10.2012, 22:29
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

> jQuery легко делает то чего не может

jMünchhausen)
__________________
.ня
Ответить с цитированием
  #44 (permalink)  
Старый 16.10.2012, 22:33
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от tenshi
при этом получаем мы NamedNodeMap
который даже forEach не поддерживает
Array.prototype.slice.call( attributes ).forEach ...

Сообщение от tenshi
задача по сложнее: как с помощью jquery обрамить все вхождения слова "jquery" тэгами <my_found>
поподробней

Сообщение от tenshi
в этой точке мы понимаем, что jquery бесполезен
он и так слишком толстый, все предусмотреть не возможно
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 16.10.2012 в 22:36.
Ответить с цитированием
  #45 (permalink)  
Старый 17.10.2012, 00:12
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от tenshi Посмотреть сообщение
$('body')[0].attributes
//       ^
//       | в этой точке мы понимаем, что jquery бесполезен
//       | и лезем к данным через DOM API
//       | при этом получаем мы NamedNodeMap,
//       | который даже forEach не поддерживает
да, но есть же элементаршейший поиск по селектору ...

который не будет оборачивать в гламурный объект наш чистенький элемент.
$.find("body").attributes;



Сообщение от tenshi
задача по сложнее: как с помощью jquery обрамить все вхождения слова "jquery" тэгами <my_found>
можно добавить? чуточку.

так, чтобы не посбивались обработчики (addEventListener, не делегированные) и ссылки на существующие элементы, которые существуют наравне с обычным текстом.
Ответить с цитированием
  #46 (permalink)  
Старый 17.10.2012, 00:59
Профессор
Отправить личное сообщение для BallsShaped Посмотреть профиль Найти все сообщения от BallsShaped
 
Регистрация: 14.09.2012
Сообщений: 162

Сообщение от nerv_
Array.prototype.slice.call( attributes ).forEach
Как по мне, так логичнее было бы так:
Array.prototype.forEach.call( attributes,..
Ответить с цитированием
  #47 (permalink)  
Старый 17.10.2012, 01:11
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

<head>
<style>
my_found {
	background: gray;
}
</style>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
jQuery(function ($) {
	$('body').find(':contains("jquery")').contents()
	.filter(function () {
		return  this.nodeType == 3;
	})
	.each(function () {
		var str = this.nodeValue.replace(/(jquery)/g, '<my_found>$1</my_found>');
		$(this).replaceWith(str);
	});
	$('body').contents().each(function () {
		if (this.nodeType == 3  && this.nodeValue.indexOf('jquery') != -1) {
			var str = this.nodeValue.replace(/(jquery)/g, '<my_found>$1</my_found>');
			$(this).replaceWith(str);
		}
	});
	alert($('body').html());
});
</script>
</head>
<body>
<div  onclick="alert(1)">jquery text1</div>
jquery
<span onclick="alert(2)">
	text2 
	<span onclick="alert(3)">
		text3 jquery 
		<button>jquery text</button>
	</span>
</span>
</body>


<head>
<style>
my_found {
	background: gray;
}
</style>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
jQuery(function ($) {
	$('body').find(':contains("jquery")').contents()
	.filter(function () {
		return  this.nodeType == 3;
	})
	.add ($('body').contents()
		.filter(function () {
			if (this.nodeType == 3 && this.nodeValue.indexOf('jquery') != -1) {
				return this;
			}
		})
	).each(function () {
		var str = this.nodeValue.replace(/(jquery)/g, '<my_found>$1</my_found>');
		$(this).replaceWith(str);
	});

	alert($('body').html());
});
</script>
</head>
<body>
<div  onclick="alert(1)">jquery text1</div>
jquery
<span onclick="alert(2)">
	text2 
	<span onclick="alert(3)">
		text3 jquery 
		<button>jquery text</button>
	</span>
</span>
</body>

Последний раз редактировалось bes, 17.10.2012 в 10:36.
Ответить с цитированием
  #48 (permalink)  
Старый 17.10.2012, 01:12
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

Кстати еще jQuery не умеет делать операции с большими числами..
А так же не умеет складывать числа и умножать их... Как например мне получить половину от количества букв во втором по алфавиту атрибуте пятого элемента в наборе?? может ли такое jQuery ??? вот и я про то!!

tenshi, хватит херню пороть я те сказал что jQuery нужна для работы с DOM и она умеет ВСЕ для работы с DOM и даже больше.

п.с. $('ololo').width() тоже возвращает не jQuery обьект, а число, это является прямым доказательством что jQuery не может работать с числами!! и дать нам например половину от ширины.. Нам придется это делать РУКАМИ, ЗА пределами jQuery!!!!1 а вдруг число дробное и нам нужны точные вычисления? jQuery так не умеет. Я думаю jQuery говно.

Последний раз редактировалось Maxmaxmахimus, 17.10.2012 в 01:16.
Ответить с цитированием
  #49 (permalink)  
Старый 17.10.2012, 08:42
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от Maxmaxmахimus
ВСЕ для работы с DOM и даже больше
по-моему, аккуратное оборачивание текста в элементе это тоже работа с DOM.
Ответить с цитированием
  #50 (permalink)  
Старый 17.10.2012, 11:15
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

Прости я не понял о че то о каком оборачивнии? тред особо не читал)

Последний раз редактировалось Maxmaxmахimus, 17.10.2012 в 11:41.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос поддержки старых методов jQuery antonM jQuery 1 04.10.2012 00:08
Когда тэги типа <font> исчезнут? Alex455 (X)HTML/CSS 10 14.06.2011 20:14
Ошибка в jQuery 1.5.1. Не понимаю в чем проблема? viatcheslav AJAX и COMET 0 16.05.2011 11:38