Получить внутренний текст элемента

Я пытаюсь найти способ получить текст, следующий за элементом, в JavaScript, но без обходных решений классики. Моя разметка:

<div>
  Dollynho
</div>

Мне просто нужно слово "Dollynho", но без .el. Я могу сделать это так:

var xs = document.getElementsByClassName('el')[0]
console.log(xs.split('>')[2].trim()) # => "Dollynho"

Могу ли я сделать это чище? (No-regex, PLS)

Заранее спасибо!

5 ответов

Итерации через все дочерниеNodes и захват содержимого дочерних узлов текста типа, а затем удалить spureous\n

var childNodes = document.getElementsByClassName('el')[0].childNodes;

var textContent = "";
for(var i=0; i
<p> Сценарий: <a href="http://jsfiddle.net/53rx1t0o/11/rel=nofollow" rel="nofollow noreferrer" target="_blank">http://jsfiddle.net/53rx1t0o/11/</a></p>


var xs = document.getElementsByClassName('el')[0];
xs.innerText;

в firefox вам может понадобиться пользователь textContent


В зависимости от ваших потребностей поддержки IE вы можете использовать textContent https://developer.mozilla.org/en-US/docs/Web/API/Node.textContent

var xs = document.getElementsByClassName('el')[0]
console.log(cs.textContent) # => "Dollynho"

IE имеет.innerText, который работает аналогично, но с некоторыми оговорками (описанными на странице textContent выше)

http://msdn.microsoft.com/en-us/library/ie/ms533899(v=vs.85).aspx


Вы можете получить текст, используя jquery

$(".el").text()


Используйте это в коде сценария, если вы хотите получить html вашего класса.el:

var x = $ (". el"). html();

licensed under cc by-sa 3.0 with attribution.