Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.09.2014, 16:50
Аспирант
Отправить личное сообщение для nesfiraty Посмотреть профиль Найти все сообщения от nesfiraty
 
Регистрация: 15.07.2014
Сообщений: 30

помогите разобраться HTMLParagraphElement
в общем суть вопроса в следующем
1) в цикле перебрал все элементы
2) получил и текст и прочее фуфло которое нужно отфильтровать и оставить только <p></p>

проблема в том что я пытаюсь сделать так

var nodes = target.parentNode.childNodes;
for(i=0; i<nodes.length; i++){
if(nodes[i] instanceof HTMLParagraphElement){

но вот печаль не кроссбраузерно!!
(nodes[i] instanceof HTMLParagraphElement) в ие не работает как можно кроссбраузерно решить проблемку??
Ответить с цитированием
  #2 (permalink)  
Старый 01.09.2014, 16:58
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

if (node.tagName == "P")


Только надо проверять элемент это или текстовая нода.

/**
     * @param {Node} node
     * @return {boolean}
     */
    function isTextNode(node) {
        return node.nodeType === 3;
    }

    /**
     * @param {Node} node
     * @return {boolean}
     */
    function isElement(node) {
        return node.nodeType === 1;
    }

Последний раз редактировалось tsigel, 01.09.2014 в 17:05.
Ответить с цитированием
  #3 (permalink)  
Старый 01.09.2014, 22:01
Аспирант
Отправить личное сообщение для nesfiraty Посмотреть профиль Найти все сообщения от nesfiraty
 
Регистрация: 15.07.2014
Сообщений: 30

спасибо попробую))
Ответить с цитированием
  #4 (permalink)  
Старый 02.09.2014, 04:11
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,501

tsigel, ну на самом деле не обязательно. .tagName будет undefined только и всего.)
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 02.09.2014, 09:46
Аспирант
Отправить личное сообщение для nesfiraty Посмотреть профиль Найти все сообщения от nesfiraty
 
Регистрация: 15.07.2014
Сообщений: 30

дк все таки кто нибудь для ie вариант применял?? хотя бы варианты
Ответить с цитированием
  #6 (permalink)  
Старый 02.09.2014, 09:55
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,501

nesfiraty, один вариант тебе показали. Так как ты хочешь: через instanceof - сделать невозможно. Нет в осле отдельных объектов под каждый элемент, есть только общий Node.
__________________
29375, 35
Ответить с цитированием
  #7 (permalink)  
Старый 02.09.2014, 10:27
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Обычно и делают через nodeName и .lowercase() на всякий случай. Или в ишаке и nodeName нету?

upd, вот такой есть каноничный кусок

getTextNode: function(node) {
		
		var next;
		var res = null;
		if (node.nodeType === 1) {
			if (node = node.firstChild) {
				do {
					next = node.nextSibling;
					res = this.getTextNode(node);
					if(res) return res;
				} while(node = next);
			}
		} else if (node.nodeType === 3) {
			if (/\S/.test(node.nodeValue)) {
				return node;
			}
		}
	},

Последний раз редактировалось kostyanet, 02.09.2014 в 10:32.
Ответить с цитированием
  #8 (permalink)  
Старый 02.09.2014, 10:32
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

http://learn.javascript.ru/basic-dom...ame-и-tagname
Можно nodeName с приведением к нижнему регистру или tagName всегда в верхнем
Ответить с цитированием
  #9 (permalink)  
Старый 02.09.2014, 10:41
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

А, вот оно что. Ну вот и я узнал.
Ответить с цитированием
  #10 (permalink)  
Старый 02.09.2014, 14:14
Аспирант
Отправить личное сообщение для nesfiraty Посмотреть профиль Найти все сообщения от nesfiraty
 
Регистрация: 15.07.2014
Сообщений: 30

спасибо ребят попробую разобраться)) только начал изучать так что за глупость не ругайте))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение ответа сервера через iframe и xhr. Помогите разобраться. Arconas AJAX и COMET 0 26.02.2013 10:38
Помогите разобраться: false, null?? eirnvn Общие вопросы Javascript 12 12.11.2012 22:22
Помогите пожалуйста разобраться Kupu4 Ваши сайты и скрипты 0 21.01.2010 10:44
Помогите разобраться с галереей IMAGIN yana_studio Общие вопросы Javascript 4 12.12.2009 17:24
Помогите разобраться с задачей (поиск строки) Absinthe Ваши сайты и скрипты 6 07.12.2009 09:17