首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将WordPress循环数据发送到jQuery?

如何将WordPress循环数据发送到jQuery?
EN

Stack Overflow用户
提问于 2020-10-15 21:11:47
回答 1查看 34关注 0票数 0

我正在创建一个在Word新闻网站上嵌入视频的视频库,我想使用jQuery来更改嵌入视频链接中的URL。所以,所有的视频帖子都在页面的底部,当点击一个视频时,它会在页面的顶部显示视频。

我有一个for循环,它显示所有的视频帖子,并且在我想用the_title()填充的帖子标题中添加了一个属性"data-link“。

标题将是我想嵌入的视频的URL

这是我的密码-

代码语言:javascript
复制
<div class="embedded-video">
  <iframe width="420" height="315"
  src="youtubeLink" id="big-video">
  </iframe> 
</div>

<?php
  $args = array( 
    'post_type' => 'post', 
    'cat' => '2', 
    'order' => 'ASC',
    'numberposts' => 9
    );
  $product_posts = get_posts( $args ); 
?>

<?php foreach ( $product_posts as $post ) : setup_postdata( $post ); ?>

<div class="gallery-card-text">
  <h2 data-link="<?php the_title(); ?>" class="video-link"><?php the_title(); ?></h2>
  <p><?php the_excerpt() ?></p>
</div>
代码语言:javascript
复制
$('.video-link').click(function () {
  let newLink = $(".video-link").attr('data-link');
  console.log(newLink);
  $('#big-video').attr('src', newLink);
});

当我检查每个帖子的数据链接属性时,它正确地显示,例如,post 2的数据链接是Post 2的标题,Post 3的标题等等。

但是当我单击任何标题时,我的控制台日志只显示第一篇文章的标题。

我怎样才能让它记录被点击的帖子的标题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-15 21:25:02

改变...

代码语言:javascript
复制
$(".video-link").attr('data-link');

为了..。

代码语言:javascript
复制
$(this).attr('data-link');

问题是,您正在单击一个元素,进入该元素的事件处理程序,找到所有链接,并从第一个链接中抓取数据链接。而不是查找单击的元素,而是使用this,它已经引用了事件提交程序绑定到的元素,并且起源于该元素。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64379733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档