$(“:not(selector)”)用普通/香草javascript?

lau*_*kok 1 javascript jquery ecmascript-6

如何$(":not(selector)")用普通JavaScript 编写?

jQuery的:

var links = $('a:not(.not-lightbox-item a)', this);
Run Code Online (Sandbox Code Playgroud)

HTML:

<div id="links">
    <div class="not-lightbox-item">
        <a href="projects.html" class="button-back">
            <span class="glyphicon glyphicon-hand-left glyphicon-circle-arrow-leftx" title="Back"></span>
        </a>

        <h2 class="heading item-heading">(Title) Ways of Something</h2>

        <p>Lorem ipsum dolor sit amet <a href="#">Excepteur sint occaecat</a> cupidatat non proident</p>
    </div>

    <a href="images/banana.jpg" title="Banana">
        <img src="images/thumbnails/banana.jpg" alt="Banana">
    </a>
    <a href="images/apple.jpg" title="Apple">
        <img src="images/thumbnails/apple.jpg" alt="Apple">
    </a>
    <a href="images/orange.jpg" title="Orange">
        <img src="images/thumbnails/orange.jpg" alt="Orange">
    </a>
</div>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

n00*_*dl3 5

使用document.querySelectordocument.querySelectorAll

//returns first element matching
document.querySelector("a:not(.not-lightbox-item a))"); 
//returns all elements matching
document.querySelectorAll("a:not(.not-lightbox-item a))");
Run Code Online (Sandbox Code Playgroud)

但是@George Katsanos是正确的,使用像这样的类比使用类似.lightbox-item双重否定的方法更清晰(并且可能更快)。a:not(.not-lightbox-item a))

  • 为什么要投票? (2认同)
  • 今天有那么多讨厌的人! (2认同)