0

大家早,

只是一个简单的问题,在循环中,我想检查一个元素是否具有“nolink”类别,如果有,请添加类。

...

我的代码如下。client-hover如果a属性是,我希望 jquery 删除该类,#.但它似乎不起作用。

非常感谢

<?php 
query_posts( 'category_name=projects' );
while ( have_posts() ) : the_post();
        $href = ( has_term( 'nolink', 'category' ) ) ? '#' : get_permalink();
        echo '<div class="grid_3">';
        echo '<a href="' . $href . '">';
            echo '<ul class="work-thumb-wrap client-hover post_class();">';
                echo '<li class="work-popup">';
                    echo '<p>';
                        echo 'View Client Work';
                    echo '</p>';
                echo '</li>';
                echo '<li class="work-img">';
                    echo '<img src="';
                        echo the_field('client_thumb');
                    echo '">';
                echo '</li>';
            echo '</ul>';
        echo '</div>';
endwhile;
wp_reset_query();
?>

<script type="text/javascript">
    if($('href').attr('#') === null) { 
        $('.work-thumb-wrap').removeClass('client-hover');
    }

    $('.work-thumb-wrap').mouseenter(function(){
        $(this).children('.work-popup').animate({'bottom' : '0px'}, 200);
    });

    $('.work-thumb-wrap').mouseleave(function(){
        $(this).children('.work-popup').animate({'bottom' : '-40px'}, 200);
    });
</script>
4

2 回答 2

2

您的第一个 JavaScriptif完全错误。你应该这样做:

势在必行:

$('a').each(function () {
    if ($(this).attr('href') == '#') {
        $(this).find('.work-thumb-wrap').removeClass('client-hover');
    }
});

或者只是简单地:

$('a[href="#"] .work-thumb-wrap').removeClass('client-hover');
于 2013-05-14T08:21:50.413 回答
1

这应该有效:

$('a[href="#"]').removeClass('client-hover');

代替

if($('href').attr('#') === null) { 
    $('.work-thumb-wrap').removeClass('client-hover');
}
于 2013-05-14T08:20:49.680 回答