Jquery text()同一类中的多个元素

Jquery text()同一类中的多个元素,jquery,text,each,Jquery,Text,Each,我正在尝试对页面上的多个(未知数量)元素使用.text() 考虑: <ul> <li class="myClass">element1</li> <li class="myClass">element2</li> <li class="myClass">element3</li> </ul> 将返回第一个元素的文本“element1” 我环顾四周时发现了以下情况: $('.m

我正在尝试对页面上的多个(未知数量)元素使用.text()

考虑:

<ul>
    <li class="myClass">element1</li>
    <li class="myClass">element2</li>
    <li class="myClass">element3</li>
</ul>
将返回第一个元素的文本“element1”

我环顾四周时发现了以下情况:

$('.myClass').each(function(index, obj)
{
   // do something
});
但是,此查询只返回每个完整元素,如:

<li class="myClass">element1</li>
<li class="myClass">element2</li>
<li class="myClass">element3</li>
  • 元素1
  • 元素2
  • 元素3
  • 我需要返回所有元素的文本,例如:

    “元素1” “元素2” “元素3”

    谢谢

    您可以使用
    map()
    检索一组元素的特定属性并将它们放置在数组中:

    var textValues = $('.myClass').map(function() {
        return $(this).text();
    }).get();
    
    从那里,您可以根据需要使用数组来创建字符串,例如,使用
    join()

    var textValues=$('.myClass').map(函数(){
    返回$(this.text();
    }).get();
    console.log(textValues.join(','));//='元素1、元素2、元素3'
    
    
    • 元素1
    • 元素2
    • 元素3
    利用美元(这)

    var x=[];
    $('.myClass')。每个(函数(索引,obj)
    {
    x、 推送($(this.text());
    });
    控制台日志(x)
    
    
    
    • 元素1
    • 元素2
    • 元素3

    只需将
    内的文本浓缩。每个
    。这是一个

    下面是修改后的jQuery:

     $(function() {
        var names = '';
        $('.myClass').each(function(index, obj) {
            names += $(this).text() +',';
        });
        alert(names);
    });
    

    只需将结果放入
    。每个
    都可以尝试
    结果+=“”+$(obj).text()
    ;或
    $(“ul”).text()@Myles没问题,很高兴能帮上忙。我也找到了和你一样的代码
    var textValues=$(“li”).map(函数(){return$(this.text();}).get().join(,”使用这个作为我的答案,因为数组使这更容易。谢谢你,彼得!
    
    var string = null;
    
    $('.myClass').each(function(index, obj){
        // do something
        string += $(this).text();
    });
    
     $(function() {
        var names = '';
        $('.myClass').each(function(index, obj) {
            names += $(this).text() +',';
        });
        alert(names);
    });