jQuery-我可以用什么代替parent()

时间:2018-10-01 07:30:40

标签: jquery

我有以下代码来测试其父类是否具有特定类:

 if ($(levelsdiv).parent().hasClass('aligntop')) {

并且html结构为:

 <div class="row col-md-12 aligntop">
   <div class="dropdown-submenu col-md-2 level-1">
      <ul>
         <li><a class="toggle" href="#">

我的测试有效。但是,有人要求我更改测试,以便不使用parent()。论据是,如果随着时间的推移有人决定稍微更改页面,则代码将中断。我尝试使用findclosest都不起作用。

  

$(levelsdiv)=级别为1的div

所以$(levelsdiv').closest('div').hasClass('aligntop')$(levelsdiv').find('div').hasClass('aligntop')

1 个答案:

答案 0 :(得分:0)

closest确实有效(find无效,方向错误)。您需要一种识别所需元素的方法。查看您的HTML,识别它的一种方法是使用row,因此:

if ($(levelsdiv).closest(".row").hasClass('aligntop')) {

...但这只是一种方式,是否您和您的团队要使用的方式取决于您。您可能要为此专门添加一个类:

<div class="row col-md-12 aligntop levels-container">
    <div class="dropdown-submenu col-md-2 level-1">
        <ul>
            <li><a class="toggle" href="#">

...然后:

if ($(levelsdiv).closest(".levels-container").hasClass('aligntop')) {