Это будет работать в вашем примере: document.getElementById("item").firstChild.nodeValue;
Примечание: имейте в виду, что это будет работать, если вы знаете, что имеете дело с этим конкретным HTML.Если ваш HTML может измениться, например:
<div>
<div class="item"> child node text </div>
top node text
</div>
, вам следует использовать более общее решение: @ Tim Down
Вот рабочий фрагмент кода:
window.onload = function() {
var text = document.getElementById("item").firstChild.nodeValue;
document.getElementById("result").innerText = text.trim();
};
#result {
border: 1px solid red;
}
<div id="item">
top node text
<div> child node text </div>
</div>
<strong>Result:</strong> <div id="result"></div>