Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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
JQuery/JavaScript:如果元素类有img子元素,则替换它_Javascript_Jquery_Html - Fatal编程技术网

JQuery/JavaScript:如果元素类有img子元素,则替换它

JQuery/JavaScript:如果元素类有img子元素,则替换它,javascript,jquery,html,Javascript,Jquery,Html,我试图替换.nav li的类Col1,如果它有一个带有image的子元素,或者一个带有classNavItemHolder的div,并将该类更改为Col2 <ul class="nav"> <li class="Col1"> <a class="lvl1 parent" href="#/">Option1</a> <ul> <li>SubOption1</li&g

我试图替换
.nav li
的类
Col1
,如果它有一个带有image的子元素,或者一个带有class
NavItemHolder
的div,并将该类更改为
Col2

<ul class="nav">

   <li class="Col1">
    <a class="lvl1 parent" href="#/">Option1</a>
        <ul>
            <li>SubOption1</li>
        </ul>
   </li>

   <li class="Col1">
    <a class="lvl1 parent" href="#">Option2</a>
        <ul>
                    <li>
                    <div class="NavItemHolder">
                        <div class="NavItemImage">
                            <a href="#">
                            <img src="/menu.jpg"></a>
                        </div>
                        <div class="NavItemDesc">
                            <a href="#">SubOption2</a>
                        </div>
                    </div>
                    </li>
        </ul>
   </li>

</ul>

但是这也将类Col2添加到内部li项中

,因为初始选择器中有空格,它将查找
.nav
的后代
li
。对于直接子对象,请使用以下选项:

$('.nav>li:has(img)').removeClass('Col1').addClass('Col2')

由于初始选择器中有空格,它将查找
li
的后代
.nav
。对于直接子对象,请使用以下选项:

$('.nav>li:has(img)').removeClass('Col1').addClass('Col2')

只需检查它的工作原理:find()$('.nav li')。find('img')。removeClass('Col1')。addClass('Col2')。只需检查它的工作原理:find()$('.nav li')。find('img')。removeClass('Col1')。addClass('Col2')。谢谢詹姆斯,我忽略了这一点。谢谢詹姆斯,我忽略了。