Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.05.2012, 13:35
Интересующийся
Отправить личное сообщение для kostepanych Посмотреть профиль Найти все сообщения от kostepanych
 
Регистрация: 16.10.2009
Сообщений: 13

Как получить inner text без тега label?
Доброго время суток,

есть спаны типа:
<span class="value">
    <label>Label Text</label>
     Some Text
</span>


как наиболее оптимально достать отсюда только Some Text без текста в label?

$('span.value').each(function () {
//    $(this).text()     - возвращает   Label Text  Some Text, а нужен только Some Text
 });

$('span.value :not(label)') - тоже не получается...

тега label в спанах может и не быть, нужен универсальный вариант
Ответить с цитированием
  #2 (permalink)  
Старый 04.05.2012, 13:47
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

у span class="value"
одна из дочек будет текстовый нод с nodeValue some text
Ответить с цитированием
  #3 (permalink)  
Старый 04.05.2012, 13:50
Профессор
Отправить личное сообщение для bot87 Посмотреть профиль Найти все сообщения от bot87
 
Регистрация: 16.05.2011
Сообщений: 307

alert(document.getElementsByTagName('span')[0].lastChild.nodeValue)
Хотя не уверен.Может проблемы через переносы строк....хз
Ответить с цитированием
  #4 (permalink)  
Старый 04.05.2012, 14:19
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

в цикле проверять this.nodeName
__________________
.ня
Ответить с цитированием
  #5 (permalink)  
Старый 04.05.2012, 15:56
Интересующийся
Отправить личное сообщение для kostepanych Посмотреть профиль Найти все сообщения от kostepanych
 
Регистрация: 16.10.2009
Сообщений: 13

Текст в теге label без проблем можно достать ('span.value label').
Но неужели нет селекторов для текстового нода?

Последний раз редактировалось kostepanych, 04.05.2012 в 15:59.
Ответить с цитированием
  #6 (permalink)  
Старый 04.05.2012, 16:13
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

bot87 написал-все работает-или нужно обязательно на jquery
alert(document.getElementsByTagName('span')[0].lastChild.nodeValue)
или по другому
alert(span.lastChild.nodeValue)
где span нужно найти
Ответить с цитированием
  #7 (permalink)  
Старый 04.05.2012, 17:51
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от kostepanych
как наиболее оптимально достать отсюда только Some Text без текста в label?
Задача, конечно, имеет место быть, но теги для того и придумали, чтобы воздействовать на их содержимое и осуществлять над ним контроль. Может просто заключить дополнительный текст в некоторые подходящие по смыслу теги и не решать задачу вычленения просто текста из разнородного содержимого некоторого тега.
Ответить с цитированием
  #8 (permalink)  
Старый 04.05.2012, 21:15
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

<span class="value">
    <label>Label Text</label>
     Some Text
</span>
<script>
var str = document.getElementsByClassName('value')[0].innerHTML
str = str.replace(/\n/,'').replace(/<label>.+<\/label>/,'')
alert(str)
</script>
__________________
оляля, ололо
Ответить с цитированием
  #9 (permalink)  
Старый 04.05.2012, 22:24
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

Цитата:
Но неужели нет селекторов для текстового нода?
есть)

document.evaluate( " span[ contains( concat( ' ', @class, ' ' ), ' label ' ) ] / text() " )
__________________
.ня
Ответить с цитированием
  #10 (permalink)  
Старый 07.05.2012, 12:21
Интересующийся
Отправить личное сообщение для kostepanych Посмотреть профиль Найти все сообщения от kostepanych
 
Регистрация: 16.10.2009
Сообщений: 13

как-то все сильно наворочено получилось...

А если просто исключить теги <label> из чайлдов?

Пытаюсь сделать так:
$('span.value').each(function () {
   $(this).contents().not('label').text();

не выходит... Как правильно это реализовать?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить список элементов в localStorage? Бобр Общие вопросы Javascript 8 17.09.2013 14:32
Как получить значение переменной из callback функции? Хиросим AJAX и COMET 5 24.04.2012 09:32
Вывод порядкового номера li в списке profxhtml Общие вопросы Javascript 4 13.04.2011 12:30
Как получить указатель на элемент вызвавший функцию pelayo Общие вопросы Javascript 9 29.06.2010 23:32
как создать елемент с вложеными елементами scuter Events/DOM/Window 11 14.05.2008 16:15