首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在jquery中使用'this‘设置图像src

在jquery中使用'this‘设置图像src
EN

Stack Overflow用户
提问于 2018-07-20 17:35:29
回答 1查看 95关注 0票数 0

我的超文本标记语言由多个.panorama divs组成,包含图像:

代码语言:javascript
复制
<div id="pan1" class="panorama">
    <img src="images/pano.jpg" alt="">
</div>

<div id="pan2" class="panorama">
    <img src="/images/alma.jpg" alt="">
</div>

我现在使用下面的代码将图像src存储到一个变量

代码语言:javascript
复制
var imgSource = $(this).find(".panorama img").attr("src");

然后将上面的代码放入以下代码中,以读取图像源:

代码语言:javascript
复制
if($('.panorama').length >0 ){
    v1 = pannellum.viewer('pan1', {
    "type": "equirectangular",
    "autoLoad": true,
    "pitch": -20,
    "hfov": 110,
    "panorama": imgSource
});

v2 = pannellum.viewer('pan2', {
    "type": "equirectangular",
    "autoLoad": true,
    "pitch": -20,
    "hfov": 110,
    "panorama": imgSource
});
}

但是,这只是返回两次images/pano.jpg并忽略pannellum.org/images/alma.jpg

我的$(this)设置有误吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-20 17:41:42

假设您想要所有的图像(因为您实际上没有在这个上下文中指定this是什么)。

你不需要$(this).find(".panorama img"),你只想使用没有this的搜索词

代码语言:javascript
复制
var img = $(".panorama img");

这将返回您的图像(复数)。您返回了多个图像,因此需要迭代源:

代码语言:javascript
复制
$(document).ready(function() {
   var img = $('.panorama img');

  for(x = 0; x<img.length; x++)
  {
     var imgSource = $(img[x]).attr("src");
     console.log(imgSource);
  }
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="pan1" class="panorama">
    <img src="images/pano.jpg" alt="">
</div>

<div id="pan2" class="panorama">
    <img src="/images/alma.jpg" alt="">
</div>

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

https://stackoverflow.com/questions/51439563

复制
相关文章

相似问题

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