jQuery .text()多个元素相同的类

Myl*_*les 2 each jquery text

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

考虑:

<ul>
    <li class="myClass">element1</li>
    <li class="myClass">element2</li>
    <li class="myClass">element3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
$('.myClass').text();
Run Code Online (Sandbox Code Playgroud)

将返回第一个元素的文本"element1".

我环顾四周时遇到了以下情况:

$('.myClass').each(function(index, obj)
{
   // do something
});
Run Code Online (Sandbox Code Playgroud)

但是,这个简单的查询返回每个完整的元素,如:

<li class="myClass">element1</li>
<li class="myClass">element2</li>
<li class="myClass">element3</li>
Run Code Online (Sandbox Code Playgroud)

我需要返回所有元素的文本,例如:

"element1""element2""element3"

谢谢!

Ror*_*san 11

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

var textValues = $('.myClass').map(function() {
    return $(this).text();
}).get();
Run Code Online (Sandbox Code Playgroud)

从那里你可以使用数组来根据需要创建字符串,例如,使用join():

console.log(textValues.join(', ')); // = 'element1, element2, element3'
Run Code Online (Sandbox Code Playgroud)

var textValues = $('.myClass').map(function() {
  return $(this).text();
}).get();

console.log(textValues.join(', ')); // = 'element1, element2, element3'
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li class="myClass">element1</li>
  <li class="myClass">element2</li>
  <li class="myClass">element3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)


jup*_*ter 9

var x =[];
$('.myClass').each(function(index, obj)
{
  x.push($(this).text());
});

console.log(x);
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
    <li class="myClass">element1</li>
    <li class="myClass">element2</li>
    <li class="myClass">element3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)