2017-06-15 75 views
0

我是新来的JS,我想动态的基础上删除某些条件上页脚中的环节之一。 但随着嵌套在多类我页脚中的代码删除的链接是:有没有更好的方法来编写后代选择器?

$(".footer .footer__container .footer__information .footer__links .footer__link").last().empty(); 

有没有更好的方式来写这一行有多个类嵌套? 只是一个注释:在我原来的项目文件中,“.footer”类是暴露给我的文件。所以我的顶级课程必须以“.footer”开头。

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Delete link in a footer demo</title> 
    <script src="https://code.jquery.com/jquery-1.10.2.js"></script> 
</head> 
<body> 

<p> 
    Hello, <span>Person</span> <em>and person</em>. 
</p> 

<!-- footer has 3 links of which last link needs to be deleted on button press --> 
<footer role="footer" class="footer"> 
    <div class="footer__container"> 
     <div class="footer__logo"> 
      <img src="images.png" alt="Images"> 
     </div> 
     <div class="footer__information"> 
      <div class="footer__links"> 
       <a target="_blank" href="https://link1" aria-label="link1" class="footer__link">link1</a> 
       <a target="_blank" href="https://link2" aria-label="link2" class="footer__link">link2</a> 
       <a target="_blank" href="https://link3" aria-label="link3" class="footer__link">link3</a> 
      </div> 
     </div> 
    </div> 
</footer> 
<button>Call empty() on above paragraph</button> 

<script> 
    $("button").click(function() { 
     $(".footer .footer__container .footer__information .footer__links .footer__link").last().remove(); 
    }); 
</script> 

</body> 
</html> 
+2

你有多少内容不同的页脚?没有理由成为特定的。只要做'$(“。footer__link”)'。 – Bergi

+0

“*在我的原始项目文件中,”.footer“类是暴露给我的文件,所以我的顶级类必须以”.footer“*”“开始 - 呃,什么?我不这么认为。顺便说一句,当标签选择器满足时,你根本不需要任何类。 '$(“footer a”)'可以。 – Bergi

+0

或'a.footer_link',或... – RobG

回答

0

除非您有另一部分HTML具有类似的内部类,否则不需要那么具体。所有你需要在这种情况下是

$(".footer_link").last().remove(); // or .empty(), whichever you intended 
相关问题