Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.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
Javascript 使用js删除/添加CSS类_Javascript_Css_Addclass_Removeclass - Fatal编程技术网

Javascript 使用js删除/添加CSS类

Javascript 使用js删除/添加CSS类,javascript,css,addclass,removeclass,Javascript,Css,Addclass,Removeclass,我想删除并在以后将类添加到这部分代码中: <tr class="promo-tag"> <td class="plan-za-razgovore-xs"></td> <td class="plan-za-razgovore-s"></td> <td class="promo plan-za-surfanje-m"&

我想删除并在以后将类添加到这部分代码中:

           <tr class="promo-tag">
                <td class="plan-za-razgovore-xs"></td>
                <td class="plan-za-razgovore-s"></td>
                <td class="promo plan-za-surfanje-m"></td>
                <td class="promo plan-za-surfanje-l"></td>
                <td class="promo plan-za-zabavu-xl"></td>
                <td class="promo plan-za-zabavu-xxl"></td>
                <td class="promo plan-za-mlade"></td>
            </tr>
请尝试以下操作:

document.querySelector(".plan-za-surfanje-m").classList.toggle("promo");

对于包含多个类的元素,您的语法是错误的,它不应该有空格。试试这个

 $('.promo-tag .promo.plan-za-surfanje-m').removeClass( 'promo' );

jQuery具有此功能,无需使事情复杂化:

$('.plan-za-surfanje-m').removeClass('promo')

实际上,您可以在
.promo
中搜索
.plan-za-surfanje-m
,但它是相同的元素

替换

$('.promo-tag .promo .plan-za-surfanje-m').removeClass( 'promo' )

使用此代码

$('.promo-tag').find('td').removeClass('promo');

.promo
.plan-za-surfanje-m
中有一个空格,您需要将其删除

$('.promo-tag .promo.plan-za-surfanje-m').removeClass( 'promo' )

这将成功删除promo类,但为什么这部分代码:&
$('.promo-tag.promo').html('Promotivna-cijena').val()
在没有promo类的情况下仍然添加文本?选择器的格式不正确。当您在选择器中使用空格时,它将选择包含
promo标签
promo
的所有元素。要让选择器选择两个元素都存在的元素,请删除空格。但问题是,当我删除该空格时,没有一个元素得到文本“Promotivna cijena”。为什么呢?对不起,如果我的问题是愚蠢的,但我仍然是新的在这方面,并试图学习。我的坏,我现在看到的错误。如果要选择带有class
promo标记的表行,它看起来如下:
$('.promo标记')
然后,您希望使用类
promo
选择此元素的所有子元素,它看起来如下:
$('.promo tag>.promo')
。您希望使用的完整代码如下:
$('.promo-tag>.promo').html('Promotivna-cijena')
也尝试过。做了一些关于CSS选择器的研究,但是我的类仍然被这个函数删除,但是其他函数仍然在没有class.promo的情况下写入额外的文本。找不到任何其他解决方案,因此我使用了此
$('.plan-za-surfanje-m.promo').html('.val()
$('.promo-tag .plan-za-surfanje-m').removeClass( 'promo' )
$('.promo-tag').find('td').removeClass('promo');
$('.promo-tag .promo.plan-za-surfanje-m').removeClass( 'promo' )