使用jQuery从div中的所有跨度中获取文本

时间:2014-09-18 15:29:09

标签: javascript jquery html

我动态地将span元素添加到div。我想在稍后阶段从div中的所有span元素中检索文本。我该怎么做呢?我想使用jQuery,但我猜Javascript很好。

创建span元素的Javascript部分:

var x = ui.item.value;

var span = document.createElement("span");
span.innerHTML="       "+x+"";

$("#selected").append(span);

这是一个on click事件。 div被称为"被选中"。

2 个答案:

答案 0 :(得分:2)

你可以尝试这样的事情:

var txt= "";
    $("#selected span").each(function(){
        txt += $(this).text();//here you get the values from each span inside selected element
    });

$("body").append(txt);//here append the collected text inside e.g. body
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="selected">
    <span>1</span>
    <span>1</span>
    <span>1</span>
    <span>1</span>   
</div>

答案 1 :(得分:2)

无需.each()或任何其他循环。只需拨打.text()即可,根据JQuery docs,它就是:

  

获取匹配元素集合中每个元素的组合文本内容,包括它们的后代,或者设置匹配元素的文本内容。

所以:

&#13;
&#13;
$("#selected").click(function() {
    var text = $(this).find("span").text();
    alert(text);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<div id="selected">
    <span>1</span>
    <span>2</span>
    <span>3</span>
</div>
&#13;
&#13;
&#13;