0

请看下面的代码:

<ul id="all-movies">                    
  <li class="movie">
    <img src="pic.jpg" />
  </li>
  <li class="movie featured">
    <img src="pic.jpg" />
  </li>
  <li class="movie featured">
    <img src="pic.jpg" />
  </li>
</ul>

在上面的代码中,我想<a href="<?php bloginfo('url'); ?>/hello"></a>li元素前面加上一个类featured,使它看起来像这样:

<ul id="all-movies">                    
  <li class="movie">
    <img src="pic.jpg" />
  </li>
  <li class="movie featured">
    <a href="<?php bloginfo('url'); ?>/hello"></a>
    <img src="pic.jpg" />
  </li>
  <li class="movie featured">
    <a href="<?php bloginfo('url'); ?>/hello"></a>
    <img src="pic.jpg" />
  </li>
</ul>

并将<?php bloginfo('url'); ?>替换为我的网站。

我怎样才能让它工作?我尝试了类似以下的方法,但没有奏效:

$("#all-movies li").hasClass('featured').prepend('<a href="<?php bloginfo('url'); ?>/hello"></a>');

注意:featured该类是动态添加的。

-edit- 这是我用来featured动态添加类的代码:

function wpse80098_filter_post_class( $classes ) {
    global $post;
    if ( 'yes' == get_post_meta( $post->ID, '_jsFeaturedPost', true ) ) {
        $classes[] = 'featured';
    }
    return $classes;
}
add_filter( 'post_class', 'wpse80098_filter_post_class' );
4

5 回答 5

1

hasClass返回一个没有prepend方法的布尔值,您可以使用类选择器。

$("#all-movies li.featured").prepend('<a href="<?php bloginfo("url"); ?>/hello"></a>');

或者:

$("#all-movies li").filter('.featured').prepend('<a href="<?php bloginfo("url"); ?>/hello"></a>');
于 2013-01-11T06:48:45.013 回答
1
<script>
$(document).ready(function(){
    var yourURL = "<?php bloginfo('url'); ?>/hello";
    $("#all-movies li.featured").prepend('<a href="'+yourURL+'"></a>');
});
</script>
于 2013-01-11T06:55:36.770 回答
0

Have you tried:

$("#all-movies li.featured").prepend('<a href="<?php bloginfo('url'); ?>/hello"></a>');

Thats assuming the <?php ?> stuff is actually processed on your server and doesn't make its way to the client.

于 2013-01-11T07:08:30.253 回答
0

您可以尝试使用.find()功能:

var url = "<?php bloginfo('url'); ?>/hello";
$('ul#all-movies').find('li.featured').prepend("<a href='"+url+"'></a>");
于 2013-01-11T06:55:49.247 回答
0
$('li.featured').each(function(){
   $(this).prepend('<a href="<?php bloginfo("url"); ?>/hello"></a>');
});
于 2013-01-11T07:19:20.980 回答