使用jQuery未定义image属性



我得到的console.log($(this(.attr('src'((未定义。我想修改所有img的src属性循环中的元素。

$(document).ready(function() {
$("#btn1").click(() => {
$(".images").each(() => {
console.log($(this).attr('src')); // getting undefined
var srcText = $(this).attr('src');
var srcArr = srcText.split('?').split('?');
srcArr[srcArr.length - 1] = genRandQuery();
$(this).attr('src', srcArr.join('?'));
});
});
function genRandQuery() {
return 'rnd=' + Math.random().toString(36).substr(7);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js">
</script>
<img class="images" src="https://abc?rnd=1234">
<img class="images" src="https://abc?rnd=2354">
<img class="images" src="https://abc?rnd=9876">
<button id="btn1">Show Text</button>

$(document).ready(function(){
$("#btn1").click(function() {
$(".images").each( function() { 
const srcText = $(this).attr('src').split('?');
const newSrc = `${srcText[0]}?${genRandQuery()}`;
console.log(newSrc)
$(this).attr('src', newSrc);
});
});
function genRandQuery() {
return 'rnd=' + Math.random().toString(36).substr(7);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<img class="images" src="https://abc?rnd=1234">
<img class="images" src="https://abc?rnd=2354">
<img class="images" src="https://abc?rnd=9876">
<button id="btn1">Show Text</button>

最新更新