选择具有指定字符串的所有div

时间:2017-02-12 02:30:26

标签: javascript jquery html css

$("#slide")代码构成我有这样的东西,我希望我的功能从slide,slide1,slide2等开始选择所有id。

在bash中有slide *,它可以完成这项工作,在jquery中有这样的东西吗?

感谢您的帮助

4 个答案:

答案 0 :(得分:4)

您可以将属性选择器与var isFocussed = false; addEvent(date, 'focus', function () { isFocussed = true; console.log("focuz" + this.innerHTML); document.designMode = 'on'; addEvent(swap_date, 'mouseleave', function (e) { console.log("mouseleave" + this.innerHTML); if(isFocussed){ //document.designMode = 'on'; $(this).off(e); e.preventDefault(); e.stopPropagation(); isFocussed = false; return false; } }); }); }); 结合使用,以选择:not()并排除slide*

#slide2
$('[id^="slide"]:not("#slide2")').css('color','red');

答案 1 :(得分:3)

$('[id^="slide"]')。这表示:任何具有以"";

开头的id属性的节点

但你的实际错误是在这个地方使用ID。枚举任何暗示您实际处理的某种列表。在这种情况下,此列表最好用(css)类代替一组ID来表示。

*枚举无关:枚举变量,属性,方法,函数,ID或类,......在每种情况下,您都应确定该组的性质并重新考虑您的结构。

答案 2 :(得分:2)

  1. jQuery没有必要
  2. 在这种情况下,最好使用类或元素标签代替ID
  3. 鉴于您拥有的内容,您可以轻松查看" slide"的 id 属性的开头。并使用:not()选择器过滤器功能收集除 slide2 之外的所有内容。

    
    
    let slides = document.querySelectorAll('[id^="slide"]:not(#slide2)');
    console.log(slides);
    
    slides.forEach(s=>s.innerHTML+=' - matched');
    
    <div id="slid1">not slide</div>
    <div id="slide">slide</div>
    <div id="slide1">slide1</div>
    <div id="slide2">slide2</div>
    <div id="slide3">slide3</div>
    <div id="slid2">not slide</div>
    &#13;
    &#13;
    &#13;

答案 3 :(得分:0)

        filterItems(searchTerm) { 
        let temp:any[] =[];
        this.category.forEach((item) => { 
        temp.push(...item.data.filter((data) =>{ 
data.title.toLowerCase().indexOf(searchTerm.toLowerCase()) > -1; 
        }) 
        );

        });
    return temp;//return from function
    }

您正在寻找的是css选择器。