我在标题中添加了这段代码。php文件:
<script type="text/javascript">
$(document).ready(function() {
if( $(\'div\').hasClass(\'icheckbox\') && $(\'div\').hasClass(\'disabled\') ) {
$(\'div\').parent().addClass(\'hide_empty\');
}
});
</script>
我的目标是添加类。hide\\u empty到具有类的所有div元素的父级。icheckbox和一个类。按此顺序禁用,没有其他类。在所有情况下,这些div元素的父元素都是li元素。
我检查了许多相关问题的答案,并尝试了许多变体,但无论我使用什么样的方法,课堂都是如此。hide\\u empty从未添加到父li元素。
我做错了什么?
由于@Andrea和@dhirenpatel22的输入,我产生了以下工作代码:
在我的footer.php
我补充道:
<?php
function hide_empty_terms() { ?>
<script type="text/javascript">
jQuery(window).load(function() {
jQuery(".icheckbox.disabled").each(function() {
jQuery(this).parent(\'li\').addClass(\'hide_empty\');
});
});
</script>
<?php }
add_action(\'wp_footer\', \'hide_empty_terms\');
?>
就在之前
<?php wp_footer(); ?>
.这实际上添加了类
hide_empty
给家长
li
元素
<div class="icheckbox disabled">
.
最合适的回答,由SO网友:Andrea Somovigo 整理而成
因此,应将元素更改为<div class="icheckbox disabled hide_empty" style="">
这与问题中所述的目标不同,在问题中,您说要将类“hide\\u empty”添加到父级<li>
的<div class="icheckbox">
. @dhirenpatel22发布的代码应该可以将类hide\\u empty添加到li元素中,当然,如果要将类添加到的元素是同一个div,则应该是$(this).addClass(\'hide_empty\')
还要注意,即使元素有更多的类,hasClass()也将返回true。要仅查找同时禁用和仅禁用icheckbox+的div,我想最好的方法是:
$(".icheckbox, .disabled").each(function(){
$(this).parent(\'li\').addClass(\'hide_empty\');
// or $(this).addClass(\'hide_empty\')
//if it\'s the <div> instead of <li> you want to apply the rule
})