Как получить 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 в спанах может и не быть, нужен универсальный вариант |
у span class="value"
одна из дочек будет текстовый нод с nodeValue some text |
alert(document.getElementsByTagName('span')[0].lastChild.nodeValue)
Хотя не уверен.Может проблемы через переносы строк....хз |
в цикле проверять this.nodeName
|
Текст в теге label без проблем можно достать ('span.value label').
Но неужели нет селекторов для текстового нода? |
bot87 написал-все работает-или нужно обязательно на jquery
alert(document.getElementsByTagName('span')[0].lastChild.nodeValue) или по другому alert(span.lastChild.nodeValue) где span нужно найти |
Цитата:
|
<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> |
Цитата:
document.evaluate( " span[ contains( concat( ' ', @class, ' ' ), ' label ' ) ] / text() " ) |
как-то все сильно наворочено получилось...
А если просто исключить теги <label> из чайлдов? Пытаюсь сделать так: $('span.value').each(function () { $(this).contents().not('label').text(); не выходит... Как правильно это реализовать? |
Часовой пояс GMT +3, время: 03:35. |