[英]JQuery get img src and use it in a as data attribute
我正在尝试使用需要特定HTML结构的javascript库,但是很遗憾,我不允许对其进行更改。
结构来自模板,我必须使用已有的东西。
关键是我尝试复制每个图像的src并将其作为data-largesrc =“ image / source / here”放入。
任何线索,我怎么能做到这一点? 到目前为止,我已经有了它,但是它没有按预期工作:
$(document).ready(function () {
$("a").attr('data-largesrc', "'" + $("a").children().attr('src')) + "'");
});
HTML结构是这样的:
<div class="container">
<div id="products" class="productsList main">
<ul id="og-grid" class="list og-grid">
<li class="l1 i1 column1">
<a href="?17,barracuda-email-security-gateway" tabindex="-1">
<img src="files/150/BARRACUDAESG.jpg.png" alt="BARRACUDAESG.jpg.png">
</a>
</li>
</ul>
</div>
</div>
我相信这应该很容易解决,但是我似乎找不到解决方案。 如果可以帮助我,非常感谢!
试试吧
$(document).ready(function () {
$.each($("a"), function(i, k){
$(this).data("largesrc", $(this).find("img").attr("src"));
});
});
children()
方法返回父元素的所有直接子元素。 换句话说,它将返回一个数组。 您正在寻找的是单个对象。
无论如何,最好使用data()
函数代替
function getImageSource() { var imgSrc = $("img").first().prop("src"); $("img").data("largesrc", imgSrc); var data = $("img").data("largesrc"); $("#img-data-value").html(data); } $("button").on("click", getImageSource);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="container"> <div id="products" class="productsList main"> <ul id="og-grid" class="list og-grid"> <li class="l1 i1 column1"> <a href="?17,barracuda-email-security-gateway" tabindex="-1"> <img src="files/150/BARRACUDAESG.jpg.png" alt="BARRACUDAESG.jpg.png"> </a> </li> </ul> </div> </div> <button>Get Image Source</button> <p id="img-data-value"></p>
首先,您不需要多余的引号。 其次,您应该使用.first()而不是.children(),因为.children()将返回一个数组,而.first()将返回第一个孩子(而您只有一个孩子)。
$(document).ready(function () {
$("a").data('largesrc', $("a").first().attr('src')));
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.