Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果列表中的类包含某个字符串,如何遍历列表并返回URL?_Javascript_Jquery_Html Lists_Each - Fatal编程技术网

Javascript 如果列表中的类包含某个字符串,如何遍历列表并返回URL?

Javascript 如果列表中的类包含某个字符串,如何遍历列表并返回URL?,javascript,jquery,html-lists,each,Javascript,Jquery,Html Lists,Each,我目前是JQuery新手,我在JSFIDLE上闲逛,希望磨练我的技能,开发一个我一直想开发的web应用程序 我要满足的一个要求是遍历页面上的列表,如果某个类包含我要查找的字符串,则返回该列表中另一个类的URL。完成后,它将迭代到下一个列表项 $('.listItems li')。每个(函数(){ 如果('.spanClass'=='True'){ var hrefValue=$('.aClass').attr('href'); 警报(hrefValue); } }) 理论上,如果

我目前是JQuery新手,我在JSFIDLE上闲逛,希望磨练我的技能,开发一个我一直想开发的web应用程序

我要满足的一个要求是遍历页面上的列表,如果某个类包含我要查找的字符串,则返回该列表中另一个类的URL。完成后,它将迭代到下一个列表项

$('.listItems li')。每个(函数(){
如果('.spanClass'=='True'){
var hrefValue=$('.aClass').attr('href');
警报(hrefValue);
}
})
  • 理论上,如果span类spanClass包含“True”,我希望我的代码会提醒我URL

    如果一个类包含一个特定的字符串,我如何修复代码以便能够获取URL?

    var href=$('li.listItems.spanClass:contains(True)').map(函数(){
    返回$(this.parent('a').attr('href'))
    }).get();
    console.log(href)
    
    
    希望对您有所帮助:

    //HTML
    <ul class="listItems">
        <li>
          <a class="aClass" href="/home">
           <span class="spanClass">True</span>
         </a>
        </li>
        <li>
         <a class="aClass" href="/town">
           <span class="spanClass">False</span>
         </a>
        </li>
        <li>
          <a class="aClass" href="/home">
            <span class="spanClass">True</span>
          </a>
        </li>
        </ul>
    
    
    
    //JS
    
        $('.listItems li').each(function(idx) {
        if($(this).find('.spanClass').html() == 'True')
        {
                var hrefValue = $('.aClass').attr('href');
            alert (hrefValue);
        }
        })
    
    //HTML
    
    //JS $('.listItems li')。每个(函数(idx){ if($(this).find('.spanClass').html()=='True') { var hrefValue=$('.aClass').attr('href'); 警报(hrefValue); } })
    哇,太棒了。非常感谢你@juiceb0xk很高兴帮助mate happy codingHow come我可以在JSFIDLE上通过CTRL+ENTER执行此操作,但是当我将代码输入到Chrome的控制台时,显示的只是一个“[]”。当我在JSFIDLE中执行代码时,返回的是数组,而不是chrome?这种情况可能有问题
    :contains(True)
    您的span有
    True
    文本?您使用的是相同的html标记吗?都是一样的,只是返回的是未定义的,而在JSFiddle中执行代码将返回包含值的数组。