Jquery没有针对页面上对象的最后一个实例

Jquery没有针对页面上对象的最后一个实例,jquery,wordpress,Jquery,Wordpress,多亏了这里的一些帮助,我在循环中得到了一个简洁的jquery小片段,它可以执行以下操作 在我的摘录页面上,当一篇文章填写了自定义字段“takeaway”时,第二个按钮会添加到文章的标准“readmore”旁边,该按钮会将他们带到永久链接中的锚 jquery被添加到目标“readmore”按钮中,该按钮的类为.more,并添加class.small,该按钮将其缩小到50%,因此新按钮可以很好地放置在旁边 问题是,出于某种奇怪的原因,它不会针对的最后一个实例。页面上的更多内容,而不管类在页面上有多少

多亏了这里的一些帮助,我在循环中得到了一个简洁的jquery小片段,它可以执行以下操作

在我的摘录页面上,当一篇文章填写了自定义字段“takeaway”时,第二个按钮会添加到文章的标准“readmore”旁边,该按钮会将他们带到永久链接中的锚

jquery被添加到目标“readmore”按钮中,该按钮的类为.more,并添加class.small,该按钮将其缩小到50%,因此新按钮可以很好地放置在旁边

问题是,出于某种奇怪的原因,它不会针对的最后一个实例。页面上的更多内容,而不管类在页面上有多少帖子。small不会添加到页面上的最后一个实例

有人能帮忙吗

<?php $key = get_post_meta($post->ID, 'takeaway', true);    
if($key) : ?> 
<script>
$(".takeaway").parent().find(".more").addClass("small");
</script>
<a class="takeaway" href="<?php the_permalink(); ?>#thetakeaway" rel="bookmark">Quick+Dirty!</a>
<?php endif; ?> 

$(.takeaway”).parent().find(.more”).addClass(“small”);

这是因为您试图在页面上还没有的元素
$(“.takeaway”)
上运行JavaScript。首先,您只需要根据您的键使用
外卖类输出link元素:

<?php $key = get_post_meta($post->ID, 'takeaway', true);    
if ($key) : ?> 
<a class="takeaway" href="<?php the_permalink(); ?>#thetakeaway" rel="bookmark">Quick+Dirty!</a>
<?php endif; ?> 

那么您是说该类被添加到$key的所有实例中,除了在最后一个实例上$key为true时,在这种情况下该类不会被添加?你有一个偶然的链接吗?试着在JSFIDLE上复制你的问题,并在你的问题中提供更多的代码上下文。这是完全正确的。我没有一个链接,我担心,因为它是一个可湿性粉剂在维护模式与管理员访问只网站。很高兴在这里添加更多的细节,您可能需要……我不能在JSFDDLE上复制,因为它在WordPress安装的中间,不会是一个好的测试环境。我只是想问一下,万一我遗漏了一些明显的东西……给你什么:
$(“.takeaway”).parent().find(“.more”).addClass(“small”);警报($('.small')。长度)预期的
元素数。较小的
元素数?谢谢。不幸的是,它在第一个实例中就破坏了页面,之后没有加载任何内容…屏幕上没有错误。第一篇文章有。更多的负载,然后下面没有任何其他负载…@user2272355在屏幕上,你是指控制台,对吗?!我不知道你在用wordpress。问题是因为
$key
变量在包含
标记的脚本上下文中未定义。我会更新我的答案。原谅我,我误读了你的密码。我已经按照你的建议做了,没有任何错误,页面加载很好,但是没有。更多的对象有。小附件。我可以问一下,将它放在domready事件处理程序中是什么意思吗?
<?php $key = get_post_meta($post->ID, 'takeaway', true);
if ($key) : ?> 
<script type="javascript">
$(function() {
    $(".takeaway").parent().find(".more").addClass("small");
});
</script>
<?php endif; ?>