如何获取<span>的值

比如有一段代码:

 

 

<div id="test">
<span>1</span>
<span>2</span>
<span>3</span>
<span>4</span>
</div>

 那么,我该如何获取到<span>里的1 2 3 4?

求解!

[code="java"]

var d = document.getElementById("test"); var nodeList = d.getElementsByTagName("span"); for( i = 0;i<nodeList.length;i++){ alert(nodeList[i].innerHTML); }

[/code]

var d = document.getElementById("test");
var nodeList = d.getElementsByTagName("span");
alert(nodeList[0].innerText);

通过tagName获取到一个nodeList,然后循环。

可以使用jQuery:

[code="java"]
var spans = $("#test").find("span");
// 获取第二个 span 的值
var secondSpan = spans.eq(1).text(); // or .html();
// 遍历
spans.each(function(){
// $(this) 可以获取到当前 span
var currentSpan = $(this).text(); // or .html();
});
[/code]

可以用childNode[i]获取

$("#test").find("span").each(function(){

alert($(this).text());
});

不适用id标签,获取div下所有span
$("div span").each(function(){
alert($(this).text());
});

[code="java"]

    var spanArray = document.getElementById("test").childNodes;
    for(var i=0;i<spanArray.length;i++)
    {
        if(spanArray[i].innerText)
        {
            alert(spanArray[i].innerText);
        }
    }

[/code]

$(function(){ $(function(){ $("#test").find("span").each(function(index){ $(this).click(function(){ alert($(this).text()); }) }) }) })

通过js来获取

如果是IE,则使用
var spanTest=document.getElementByIdx_x('sizeSpan');
spanValue = spanTest.outerText;

如果是ff,则可以:
var spanTest=document.getElementByIdx_x('sizeSpan');
spanValue = spanTest.textContent;

通过js来获取

如果是IE,则使用
var spanTest=document.getElementByIdx_x('sizeSpan');
spanValue = spanTest.outerText;

如果是ff,则可以:
var spanTest=document.getElementByIdx_x('sizeSpan');
spanValue = spanTest.textContent;

$("#test span").each(function(){
alert($(this).text());
});

javascript:alert(1);

将4个span标签制定相同的name,document.getElementByName("span的name");就能直接得到包含1 2 3 4的数组。ID是唯一的 所以不能用ID

var div=document.getElementById('div');
var nodelist=div.getElementByTagName('span');
nodelist[0].innerHTML取得第一个span的值

使用jquery比较简单
$("#test").children("span").each(function(){
alert($(this).html());
});

用jquery吧,很快捷的

var spans = $('#test > span');
for(var i=0;i<spans.length;i++){
alert($(spans[i]).html());
}

还是用jquery,用原始的js可能会浏览器不通用
$("#test").find("span").each(function() {
alert($(this).html());
});

可以用document.getElementsByTagName("span")得到一个数组之后在循环就得到了吧,不过jquery更快更方便$("#test").find("span").each(function(){alert($(this).html())});

强烈建议使用jquery
$("#test").find("span").each(function(){
alert($(this).text()); //1,2,3,4
})

$("#test").text();
一句就OK了,导入jquery.js 先!

这个简单的问题,大家回答在这么踊跃!

span样式使用大全[url]http://html5.3g-edu.org/web/?wwxit[/url]