从 $(this) 获取嵌套的 img src
get nested img src from $(this)
对于这些简单的CMS之一,我需要将src从标签传递到父div的背景图像URL。有了明确的id,一切都可以正常工作,但现在我正在尝试自动化它,但它就是不起作用。虽然我很确定这应该是一些语法错误,但我对 Java 很陌生。提前感谢4任何提示!:)
这是我到目前为止的代码:
var imageUrl = $(this).find('img').attr('src');
console.log(imageUrl)
$('.background-image').css('background-image', 'url(' + imageUrl + ')');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="background-image">
<img src="myimg1.jpg" class="imgtag">
</div>
<div class="background-image">
<img src="myimg2.jpg" class="imgtag">
</div>
<div class="background-image">
<img src="myimg3.jpg" class="imgtag">
</div>
你所拥有的应该有效...除了this
可能不是你想象的那样。如果从类似 click
事件之类的内容中调用$(this)
,this
将设置为单击的元素,因此它必须包含图像。
如果它不是从那里调用的,那么this
可能指的是窗口,这也不是你想要的。可能只是:
var imageUrl = $('#some-container').find('img').attr('src');
是您想要的,#some-container
是您可以定位的图像的某个父元素。
如果要将其应用于父元素中的多个元素,可以使用如下所示的内容:
$('#some-parent').find('img').each(image => {
let imageUrl = $(image).attr('src');
// do something with imageUrl
});
它将遍历#some-parent
内部的每个img
,您可以使用几行代码对所有执行所需的实际操作。
好的,
多亏了第一条评论,我开始理解 $(this( :)的含义所以我使用 .each 函数完成了这项工作,我的最终 java 片段现在看起来像这样:
$(".full-image").each(function() {
var imageUrl = $(this).find('img').attr('src');
console.log(imageUrl)
$(this).css('background-image', 'url(' + imageUrl + ')');
});
相关文章:
- 用嵌套函数和默认函数定义函数
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 可以简化嵌套的延迟Q Promises解析吗
- 用于搜索的聚合物嵌套绑定
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- d3中堆栈函数和嵌套函数之间的差异
- 如何打印嵌套对象的所有值
- JavaScript 中的嵌套函数和 “this” 关键字
- 设置嵌套对象属性的更好方法
- querySelector/getElementByClassName嵌套项的顺序
- 猫鼬在特定记录中查找嵌套记录
- 访问嵌套JSON对象的键,其中键是动态的
- D3嵌套组作为x轴
- Ionic和angularjs嵌套步骤应用程序
- 从多维嵌套json数组创建下拉列表
- JQuery:单击具有特定URL的嵌套Img
- 查找所有嵌套的 img 元素
- 如何访问嵌套在 h1 标签中的 img 标签元素
- 从 $(this) 获取嵌套的 img src
- 更改嵌套alt标记中的img