Javascript.RU

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

> $.find("body").attributes;

ну охуеть теперь) с NamedNodeMap так приятно работать..

> Array.prototype.forEach.call( attributes,..

$( attributes ).each( ...

но факт остаётся фактом - через jq нельзя получить список аттрибутов элемента. можно лишь получить сам элемент и через его апи получить этот список, а потом завернуть список обратно в jq.


> поподробней

а что тут не понятно?

> так, чтобы не посбивались обработчики (addEventListener, не делегированные) и ссылки на существующие элементы, которые существуют наравне с обычным текстом.

разумеется, и чтобы состояние контролов и позиция каретки чтобы не менялась)


> он и так слишком толстый, все предусмотреть не возможно

есть такая вещь как модульность, про которую разработчики jq видимо не слышали
__________________
.ня
Ответить с цитированием
  #52 (permalink)  
Старый 17.10.2012, 14:55
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

bes, всё хорошо, вот только не все вхождения находит

<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<style>
my_found {
	background: yellow;
}
</style>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
jQuery(function ($) {
    $('button').click(function(){
        alert($('body').html())
        return false
    })

	$('body').find(':contains("jquery")').contents()
	.filter(function () {
		return  this.nodeType == 3;
	})
	.add ($('body').contents()
		.filter(function () {
			return this.nodeType == 3 && this.nodeValue.indexOf('jquery') != -1
		})
	).each(function () {
		var str = this.nodeValue.replace(/(jquery)/g, '<my_found>$1</my_found>');
		$(this).replaceWith(str);
	});
});
</script>
</head>
<body>
<div>jquery text1</div>
<b>j</b>Query
<a href="jquery.com">
	text2 
	<span>
		text3 jquery 
		<button>jquery text</button>
	</span>
</a>
</body>
__________________
.ня
Ответить с цитированием
  #53 (permalink)  
Старый 17.10.2012, 15:16
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от tenshi
не все вхождения находит
здесь <b>j</b>Query
и здесь href="jquery.com"
тоже должен найти?
Ответить с цитированием
  #54 (permalink)  
Старый 17.10.2012, 15:22
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

первый очевидно да, второй очевидно нет
__________________
.ня
Ответить с цитированием
  #55 (permalink)  
Старый 17.10.2012, 17:23
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от tenshi
разумеется, и чтобы состояние контролов и позиция каретки чтобы не менялась)
тогда можно сразу сказать, что в JQ нет методов для работы с TextNode - только с обычными элементами.

но об этом мы уже говорили страницу - две назад )
Ответить с цитированием
  #56 (permalink)  
Старый 18.10.2012, 01:40
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

TextNode тут не особо поможет. нужно использовать TextRange
__________________
.ня
Ответить с цитированием
  #57 (permalink)  
Старый 18.10.2012, 21:25
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от BallsShaped
Как по мне, так логичнее было бы так:
Array.prototype.forEach.call( attributes,..
согласен. Сделал так, как сделал потому, что думал forEach не будет работать с не массивом.

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

Последний раз редактировалось nerv_, 18.10.2012 в 21:31.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос поддержки старых методов 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