如何获得<span>值?

sua*_*nai 15 javascript

有一段代码,但不能使用<id>标签.

那么,我怎么去<span> 1 2 3 4

<div id="test">
    <span>1</span>
    <span>2</span>
    <span>3</span>
    <span>4</span>
<div>
Run Code Online (Sandbox Code Playgroud)

yog*_*ogi 28

试试这个

var div = document.getElementById("test");
var spans = div.getElementsByTagName("span");

for(i=0;i<spans.length;i++)
{
  alert(spans[i].innerHTML);
}
Run Code Online (Sandbox Code Playgroud)


Flo*_*ine 9

var test = document.getElementById( 'test' );

// To get the text only, you can use "textContent"
console.log( test.textContent ); // "1 2 3 4"
Run Code Online (Sandbox Code Playgroud)

textContent是标准的方式.innerText是用于旧版IE的属性.如果您希望尽可能使用跨浏览器,请递归使用nodeValue.


Eli*_*gem 5

没有 jQuery 标签,所以我假设纯 JavaScript

var spanText = document.getElementById('targetSpanId').innerText;
Run Code Online (Sandbox Code Playgroud)

是你需要的

但在你的情况下:

var spans = document.getElementById('test').getElementsByTagName('span');//returns node-list of spans
for (var i=0;i<spans.length;i++)
{
    console.log(spans[i].innerText);//logs 1 for i === 0, 2 for i === 1 etc
}
Run Code Online (Sandbox Code Playgroud)

这是一把小提琴