获取特定类之后具有相同类的所有元素的值

时间:2017-01-25 07:30:39

标签: jquery class dictionary

我试图获取嵌套元素的值,这些元素具有跟随某个类的相同类。

<li class="selected">
  <a class="hello">A</a>
</li>
<li>
  <a class="hello">B</a>
</li>
<li class="selected">
  <a class="hello">C</a>
</li>

所以,我想得到一个&#39;&#39; C&#39;使用以下JQuery。

var values = $('.selected > .hello').map(function() { return $(this).val(); }).get();

我可以得到A&#39;,&#39; B&#39;,&#39; C&#39;如果我只使用$(&#39; .hello&#39;)。map(....)。

我在这里缺少什么?

2 个答案:

答案 0 :(得分:2)

你的逻辑几乎是正确的。问题是因为您使用val()a元素没有value属性。请改用text()

&#13;
&#13;
var values = $('.selected > .hello').map(function() {
  return $(this).text();
}).get();

console.log(values);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li class="selected">
    <a class="hello">A</a>
  </li>
  <li>
    <a class="hello">B</a>
  </li>
  <li class="selected">
    <a class="hello">C</a>
  </li>
</ul>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

&#13;
&#13;
var values = $('li.selected > .hello').map(function() {
  return $(this).text();
}).get();

console.log(values)
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li class="selected">
  <a class="hello">A</a>
</li>
<li>
  <a class="hello">B</a>
</li>
<li class="selected">
  <a class="hello">C</a>
</li>
So, I want to get 'A', 'C' with the following JQuery.
&#13;
&#13;
&#13;

使用li.selected因为第二个李没有课程,所以会被排除