获得已选择""的列表项的值类

时间:2017-02-16 06:25:06

标签: jquery

我希望jquery循环遍历这个列表项,并在已选择类的li下获取anchor标记的值。 1)循环列表项 2)找到具有所选类的li 3)在已选择类的li下获取锚标签的值 4)推送数组中的值 5)这应该是单循环。

使用.each()它会循环3次,如果它找到3个'"选择" class和array.push完成3次,应该是1次。

<ul class="sizes-list">
   <li><a href="#">30</a></li>
   <li class="selected"><a href="#">32</a></li>
   <li class="selected"><a href="#">34</a></li>
   <li><a href="#">36</a></li>
   <li><a href="#">38</a></li>
</ul>

7 个答案:

答案 0 :(得分:1)

使用此选择器直接选择锚元素:

NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setBackgroundColor(Color.BLUE);//your color
navigationView.inflateMenu(R.menu.activity_main_drawer);//your menu layout
$('.sizes-list li.selected > a').each(function(i, e) {
   alert($(e).text());
 });

答案 1 :(得分:1)

你可以这样试试......

$(function(){
   var listselected = $(".selected").length;
   console.log(listselected);
});

它将在浏览器的控制台中打印所选列表的编号。

答案 2 :(得分:1)

你可以使用jQuery&#39; s .map()来做这样的事情。它不需要循环,专为此类操作而设计:

&#13;
&#13;
var myArray = $('.sizes-list li.selected a').map(function() {
  return $(this).text();
}).get();
$('#result').html('RESULTING ARRAY: [' + myArray.toString() + ']');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<ul class="sizes-list">
  <li><a href="#">30</a></li>
  <li class="selected"><a href="#">32</a></li>
  <li class="selected"><a href="#">34</a></li>
  <li><a href="#">36</a></li>
  <li><a href="#">38</a></li>
</ul>
<div id="result"></div>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

让我们尝试以下代码:

<!DOCTYPE HTML>
<html>
<body>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="sizes-list">
   <li><a href="#">30</a></li>
   <li class="selected"><a href="abc.com">32</a></li>
   <li class="selected"><a href="def.com">34</a></li>
   <li><a href="#">36</a></li>
   <li><a href="#">38</a></li>
</ul>

<script type="text/javascript">

    $(function(){
        var selected = [];

        $('.sizes-list > li').each(function(i){
            if($(this).hasClass('selected')){
                selected.push($(this).find('a').text());
            }
        })

        alert(selected)
    })

</script>

</body>
</html>

答案 4 :(得分:0)

&#13;
&#13;
var a = [];
$('.sizes-list li.selected > a').each(function() {
   a.push($(this).text());
 });
console.log(a);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<ul class="sizes-list">
  <li><a href="#">30</a></li>
  <li class="selected"><a href="#">32</a></li>
  <li class="selected"><a href="#">34</a></li>
  <li><a href="#">36</a></li>
  <li><a href="#">38</a></li>
</ul>
&#13;
&#13;
&#13;

我认为这是你的期望。

答案 5 :(得分:0)

var storVals = [];

$('li.selected > a').each(function(i, e) {
   storVals.push( e.text() );
 });

答案 6 :(得分:0)

&#13;
&#13;
var arrayL=[];

$('.sizes-list li.selected > a').each(function(i,e){
    arrayL.push($(e).text());
 });

alert(arrayL);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="sizes-list">
   <li><a href="#">30</a></li>
   <li class="selected"><a href="abc.com">32</a></li>
   <li class="selected"><a href="def.com">34</a></li>
   <li><a href="#">36</a></li>
   <li><a href="#">38</a></li>
</ul>
&#13;
&#13;
&#13;