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クラスは動的に追加されています。

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
<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 に答える
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 に答える
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 に答える
0

やってみました:

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

<?php ?>それは、実際にサーバー上で処理され、クライアントに到達しないことを前提としています。

于 2013-01-11T07:08:30.253 に答える