Jquery 准备动态';a';标记到';李';具有特定类的元素
请看下面的代码:Jquery 准备动态';a';标记到';李';具有特定类的元素,jquery,wordpress,Jquery,Wordpress,请看下面的代码: <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">
<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>
而
将替换为我的网站
我怎样才能让它工作?我尝试了以下方法,但没有成功:
$(“#所有电影里”).hasClass('featured').prepend('')代码>
注意:正在动态添加特色
类
-编辑-这是我用来动态添加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' );
hasClass
返回一个没有prepend
方法的布尔值,您可以使用类选择器
$("#all-movies li.featured").prepend('<a href="<?php bloginfo("url"); ?>/hello"></a>');
$(“#所有电影都有特色”).prepend(“”);
或:
$(“#所有电影li”).filter('.featured').prepend('');
$(文档).ready(函数(){
var yourURL=“/hello”;
$(“#所有的电影都有特色”).prepend(“”);
});
您可以尝试使用.find()
函数:
var url = "<?php bloginfo('url'); ?>/hello";
$('ul#all-movies').find('li.featured').prepend("<a href='"+url+"'></a>");
var url=“/hello”;
$('ul#all movies').find('li.featured').prepend(“”);
您是否尝试过:
$("#all-movies li.featured").prepend('<a href="<?php bloginfo('url'); ?>/hello"></a>');
$(“#所有电影都有特色”).prepend(“”);
这是假设
内容实际上是在您的服务器上处理的,并且不会到达客户端。$('li.featured')。每个(函数(){
$('li.featured').each(function(){
$(this).prepend('<a href="<?php bloginfo("url"); ?>/hello"></a>');
});
$(this.prepend(“”);
});
这样行吗?即使在前置程序正常工作时,页面呈现PHP是否已经太晚了?PHP是在服务器端完成的,当您在前端时,请求已经在客户端上了。您可能需要将bloginfo('url')存储在本地javascript变量(var bloginfo=“”;)中,然后在前置词中使用该变量。动态添加的类应该不会有问题,只要在您尝试将
添加到类中之前添加这些类。如果动态添加特色,为什么不使用相同的代码在php文件中添加bloginfo('url')
?我在上面的帖子中添加了我正在使用的代码。@John你在使用哪个wordpress主题?我尝试了这两个,但都不起作用。我认为这是因为特性类是通过function.php动态添加的。有解决方法吗?@John您是否已将代码放入文档就绪处理程序中<代码>$(文档).ready(函数(){})
var url = "<?php bloginfo('url'); ?>/hello";
$('ul#all-movies').find('li.featured').prepend("<a href='"+url+"'></a>");
$("#all-movies li.featured").prepend('<a href="<?php bloginfo('url'); ?>/hello"></a>');
$('li.featured').each(function(){
$(this).prepend('<a href="<?php bloginfo("url"); ?>/hello"></a>');
});